我有一個歧視的聯盟,我希望爲它使用像> < compare max
這樣的內置運營商。內置「< >比較」不適用於「IComparable <T>」?
[<CustomComparison>]
type SymbolType =
| A
| B
| C
| D
interface IComparable<SymbolType> with
member x.CompareTo y =
match x, y with
| A, A-> 0
| A, _ -> 1
| _, A-> -1
| _, _ -> 0
我明白我可以使用IComparable
,但後來我不得不做一個null
檢查,更糟糕的是,我要投它像(SymbolType) y
我以爲會很耗時。
可能重複[F# - >實現IComparable的HashSet的<'a>( http://stackoverflow.com/questions/5557899/f-implement-icomparable-for-hashseta) – ildjarn