【发布时间】:2018-12-11 06:00:15
【问题描述】:
我有一个实现T 的类,其中T 是一个接口。
我意识到我不能对对象执行==,所以我在代码中使用了Equals() 方法:
return (Equals(_nodes[node.QueueIndex] , node));
但经过一番谷歌搜索,我还发现IComparable 是一个选项,所以我也可以这样做:
return node.CompareTo(_nodes[node.QueueIndex]) >= 0;
我的接口在哪里继承 IComparable 并实现它:
public int CompareTo(object obj)
{
return obj == this ? 1 : 0;
}
我真的很困惑哪种是正确的设计方法。它们实际上是否有不同的目的,哪一个是正确的选择?
【问题讨论】:
标签: c# generics interface compare