假设我有以下课程:
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.CompareTo
给出与ScaleValue.CompareTo
?
怎么样Equals
?
我认为我在设计中把责任放在了错误的地方。我认为我最好的选择是使用ContainsValue(double Value)
方法制作 Scale 类。通过这种方式,我可以查找价值并将责任保留在需要的地方。