什么:>运算符在F#中做什么?

sdg*_*sdh -4 f# operators

什么是:>运营商在F#中吗?

例如

myFunction x :> System.Object
Run Code Online (Sandbox Code Playgroud)

ali*_*rat 8

它将类型转换为层次结构中较高的类型.所以它是一个转换运算符.

请参阅以下示例(从此处开始,以及之前的定义):

type Base1() =
    abstract member F : unit -> unit
    default u.F() =
     printfn "F Base1"

type Derived1() =
    inherit Base1()
    override u.F() =
      printfn "F Derived1"


let d1 : Derived1 = Derived1()

// Upcast to Base1.
let base1 = d1 :> Base1
Run Code Online (Sandbox Code Playgroud)