Какой ваш подход при написании проверок равенства для создаваемых structs
и classes
?
1) Требуется ли "полная" проверка равенства, чтобы большая часть кода шаблона (например, override Equals
, override GetHashCode
, generic Equals
, operator==
, operator!=
)?
2) Вы явно указываете, что ваши классы моделируют интерфейс IEquatable<T>
?
3) Правильно ли я понимаю, что нет реального способа автоматического применения переопределений Equals
, когда я вызываю что-то вроде a == b
, и мне всегда нужно реализовать как Equals
и operator==
членов?