У меня есть класс со многими свойствами, некоторые из них являются списками пользовательских типов.
Мне нужно сравнить два экземпляра этого класса и получить список свойств, которые в них не равны.
Я разработал его с пользовательскими атрибутами (для соответствующих свойств, которые я хочу включить в сравнение) и с использованием IEquatable
, но для списков я столкнулся с проблемами. Я собирался использовать SequenceEqual
, но для этого требуется тип списка (IEnumerable<SomeType>
), которого у меня нет и я не знаю, как установить. Мне известны методы GetElementType
и GetGenericArguments
, но я не могу использовать их внутри IEnumerable<>
, чтобы заставить SequenceEqual
работать.
Я ищу лучший дизайн для этого сценария, а также примеры кода того, как на самом деле это сделать.