У меня есть класс, который реализует T
, где T
- это интерфейс.
Я понял, что не могу сделать ==
для объекта, поэтому я использовал метод Equals()
в своем коде:
return (Equals(_nodes[node.QueueIndex] , node));
Но после некоторого поиска в Google, я также нахожу IComparable
вариант, поэтому я также могу сделать:
return node.CompareTo(_nodes[node.QueueIndex]) >= 0;
Где мой интерфейс наследует IComparable
и реализует его:
public int CompareTo(object obj)
{
return obj == this ? 1 : 0;
}
Я действительно не понимаю, какой здесь правильный подход к проектированию.Они действительно служат различным целям, какой из них является правильным выбором?