@ddd329

Правильно ли переопределен метод Equals в C#?

На сайте Microsoft приведен пример того, как переопределять метод Equals.
6026a0990639e880298883.png
Смущает то, что нет проверки this.GetType() != other.GetType(), как обычно приводят в примерах.
Как вы считаете, корректно ли это?
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
В данном случае реализация корректная, но она может повести себя некорректно, если создавать наследника ImaginaryNumber.
Так что по-хорошему надо проверять и типы через GetType, что вы и заметили.
GetHashCode кстати сейчас рекомендуется реализовывать через структуру HashCode
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Когда приводится из обджекта там и проверяется тип
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы