17

explicitF#でC#の演算子に相当するものをどのように実装しますか?サポートされていますか?

4

1 に答える 1

27

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)
于 2012-08-10T00:37:53.733 に答える