wpf переопределяет getHashCode и Eqaul в ContentControl - PullRequest
2 голосов
/ 08 октября 2010

Привет У меня есть класс, который является производным от ContentControl, и я не могу переопределить GetHashCode и метод Equal. Я получаю ошибку

Ошибка 5 не может переопределить унаследованный член 'System.Windows.DependencyObject.GetHashCode ()', потому что он запечатан Есть ли способ переопределить этот метод? Мне нужно использовать метод Union из LINQ, однако мне нужно сравнить объект с другим состоянием, чем обычно. Есть ли способ сделать это?

1 Ответ

4 голосов
/ 08 октября 2010

Да - внедрить IEqualityComparer<T> отдельно и передать это в соответствующую перегрузку Union.

По сути, вы будете рассказывать, как сравнить любые два элемента на равенство и как получить хеш-код любого одного элемента. Union будет использовать ваше пользовательское сравнение при создании хеш-наборов и т. Д. Вам не нужно переопределять существующие методы.

...