Каков алгоритм, используемый тестом-методом равенства в .NET-структурах? Я хотел бы знать это, чтобы использовать его в качестве основы для моего собственного алгоритма.
Я пытаюсь написать рекурсивный тест равенства поровну для произвольных объектов (в С#) для проверки логического равенства DTO. Это значительно проще, если DTO являются структурами (поскольку ValueType.Equals делает в основном правильную вещь), но это не всегда уместно. Я также хотел бы переопределить сравнение любых объектов IEnumerable (но не строк!), Чтобы их содержимое сравнивалось, а не их свойства.
Это оказалось сложнее, чем я ожидал. Любые подсказки будут высоко оценены. Я приму ответ, который окажется наиболее полезным или предоставит ссылку на наиболее полезную информацию.
Спасибо.