3

新しく定義した型を int と比較できるように (=) をオーバーライドしようとしています。私はこれを達成したい:

type T = T with static member op_Equality (_ : T, c : int) = true

let b = T = 2 // Error: This expression was expected to
              // have type T but here has type int

C# では簡単に動作させることができますが、F# ではできません。

私も試してみました

  • 静的メンバー(+)を作成しますが、警告が表示されて機能しません
  • CustomEqualityAttribute を T に追加する - も機能しませんでした

(=) 演算子を 2 つの異なる型で動作させることができるかどうか疑問に思っていました。

4

1 に答える 1