Помощники реализации метода Equals (C #)

Каждый раз, когда я пишу некоторый класс данных, я обычно трачу столько времени на написание реализации IEquatable.

Последний класс, который я написал, был примерно таким:

public class Polygon
{
    public Point[] Vertices { get; set; }
}

Реализация IEquatable была исчерпывающей. Конечно, C # 3.0 / LINQ очень помогает, но вершины могут быть смещены и / или в обратном порядке, что значительно усложняет метод Equals. После многих модульных тестов и соответствующей реализации я сдался и изменил свое приложение так, чтобы оно принимало только треугольники. Для реализации IEquatable требовалось только 11 модульных тестов, чтобы полностью покрыть их.

Есть какой-либо инструмент или метод, который помогает реализовать Equals и GetHashCode?

Ответы на вопрос(2)

Ваш ответ на вопрос