如何在F#中实现C#的explicit
运算符的等价物?是否支持?
答案 0 :(得分:23)
只需实现op_Explicit
静态成员,例如
type SomeType() =
static member op_Explicit(source: SomeType) : int =
1
然后您可以使用相应的F#显式转换运算符,如
SomeType() |> int
通过注意int
^a -> int when ^a : (static member op_Explicit : ^a -> int)