の列挙は、私はこのようなクラスを持っています。しかし、これはすでに実装されている -共分散界面
クラスGmxGlobal
されるが、私は方法IEnumerator<IGmxGlobal> GetEnumerator()
を宣言する必要がありますので、私は、GmxGlobalList
public partial class GmxGlobalList : DynamicBindingListBase<GmxGlobal>, IEnumerable<IGmxGlobal>
を宣言する。しかし、これは動作しません。今すぐ欲しい
public partial class GmxGlobal : IGmxGlobal
のように定義しますCollection<T>
からですが、IGmxGlobal
ではなく、GmxGlobal
となります。私はあなたに尋ねるでしょう、なぜ私はIEnumerator<IGmxGlobal> GetEnumerator()
を実装する必要がありますか? - GmxGlobalListがIEnumerable
またはICollection
またはIList
のIGmxGlobal
(またはその他IGmxGlobal
が列挙できるもの)であることを宣言することができますか?
ベースのようなDynamicBindingListBaseを持つ十分ではないですか?なぜIEnumerableが必要なのですか? –
Tigran
GmxGlobalListはIEnumerableを定義します。 IGmxGlobalListインターフェイスも実装しています。今、IGmxGlobalList(IGmxGlobalListとしても知られています)のオブジェクトを使用し、GmmGlobalではなくIGmxGlobalだけを列挙する必要があるため、IEnumerable を実装するために、このインターフェイス(IGmxGlobalList)を定義します。このために、IGmxGlobalList:IEnumerable を宣言する必要があります。 –
BennoDual