2

こんにちは私はContentControlから派生したクラスを持っていて、GetHashCodeとEqualメソッドをオーバーライドできません。エラーが発生します

エラー5は、継承されたメンバー'System.Windows.DependencyObject.GetHashCode()'が封印されているため、オーバーライドできません。このメソッドをオーバーライドする方法はありますか?LINQのUnionメソッドを使用する必要がありますが、通常とは異なる条件のオブジェクトを比較する必要があります。それを行う方法はありますか?

4

1 に答える 1

4

はい-IEqualityComparer<T>個別に実装し、それを関連するのオーバーロードにUnion渡します。

基本的に、2つのアイテムを比較して等しいかどうか、および1つのアイテムのハッシュコードを取得する方法を説明します。Unionハッシュセットなどを構築するときにカスタム比較を使用します。既存のメソッドをオーバーライドする必要はありません。

于 2010-10-07T20:45:23.063 に答える