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

时间:2015-09-23 10:51:30

标签: f# operators

:>运营商在F#中做了什么?

e.g。

myFunction x :> System.Object

2 个答案:

答案 0 :(得分:8)

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

请参阅以下示例(取自here以及之前的定义):

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

答案 1 :(得分:4)

将类型转换为层次结构中较高的类型 资料来源:https://msdn.microsoft.com/en-us/library/dd233228.aspx

-
就像将实体类型转换为播放器类型一样。