次のクラスがあるとしましょう:
public sealed class ScaleValue :
IComparable, IComparable<ScaleValue>, IEquatable<ScaleValue>
{
public double Value
{ get; set;}
public string Definition
{ get; set;}
// interface methods
...
}
クラスを a に匹敵するものにしたい場合は、そのようdouble
に含めIComparable<double>
て実装する必要がありますか、それとも別の方法で行う必要がありますか?
そして、クラスを double に匹敵するようにしたい場合は、 ?double.CompareTo
と同じ結果が得られるはずです。ScaleValue.CompareTo
そしてどうEquals
ですか?
私は自分の設計で責任を間違っていると思います。私の最善の選択肢は、ContainsValue(double Value)
メソッドを使用して Scale クラスを作成することだと思います。このようにして、価値を調べて、必要な場所に責任を持たせることができます。