【问题标题】:What does the :> operator do in F#?:> 运算符在 F# 中的作用是什么?
【发布时间】:2015-12-20 15:45:16
【问题描述】:

:> 运算符在 F# 中的作用是什么?

例如

myFunction x :> System.Object

【问题讨论】:

  • f# :> operator 的第一个谷歌结果没有回答您有什么问题?
  • 我以前从未看过F#,不到一分钟就找到了答案....我想知道写这个问题需要多长时间?
  • 我只搜索了 StackOverflow。现在有两种方法可以找到答案。
  • 如果这是重复的,应该关闭,否则我认为这是一个相关的新手问题。
  • @FuleSnabel 可能的欺骗目标:stackoverflow.com/questions/31616761/f-casting-operators

标签: f# operators


【解决方案1】:

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

参见下面的例子(取自 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

【讨论】:

    【解决方案2】:

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

    --
    就像将 Entity 类型转换为 Player 类型一样。

    【讨论】:

    • +1 用于指出参考。 F# 语言参考非常好,应该是新手和经验丰富的开发人员搜索此类问题的自然场所。
    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2016-06-20
    • 2020-05-25
    • 2018-06-12
    • 2012-10-03
    • 2011-01-20
    • 1970-01-01
    相关资源
    最近更新 更多