辞書から派生したクラスがあります。 SilverlightはHashSetを知らず、クラスはHashSetを大量に使用するため、このクラスがHashSetをシミュレートするために必要です。そこで私はHashSetをDictionaryと交換することに決めました。辞書から派生したクラスに対してforeachを有効にする
class HashSet<T> : Dictionary<T, object>
{
public override void Add(T element)
{
base.Add(element, null);
}
}
は、今私は有効にする必要があります。さらに、すべてのHashSet、オブジェクトの私のクラスを使用するには、私は、それが辞書から派生したカスタムHashSetのクラスを作成し、Add-法のようなすべてのrelavantメソッドをオーバーライドしてみてください私の新しいHashSetクラスのforeach-loopです。明らかに、私のクラスはforeachループでKeyValuePairを返しますが、戻り値の型としてTが必要です。誰でも私に教えてください、どのように私はディクショナリの基本クラスをオーバーライドする必要がありますか?事前に
おかげで、 フランク
本当に良い質問です。 Jon Skeetの答えは私のコードベースが私たちの立場からはるかに意味を持ち、使いやすくするのに役立ちます。 –