0

私は次のコードを持っています:

protected Dictionary<string, ObjectAttribute<T>> attributes;

ディレクトリに新しいアイテムを追加するたびにジェネリック型を渡す必要がありますが、後でキャストの問題が発生する可能性があるため、object/dynamic は使用したくありません。それで、このようにすることは可能ですか?

T は、項目を追加するたびに必要になるだけなので、クラス コンストラクターやその他の場所では定義されていません。

4

1 に答える 1

5

T「そしてアイテムごとに変更できる」という意味の場合、いいえ:ObjectAttribute非ジェネリックの基本クラスを持っているか、非ジェネリックのインターフェースを実装している場合を除きます。

protected Dictionary<string, IObjectAttribute> attributes;

class ObjectAttribute<T> : IObjectAttribute {...}

動作します。

于 2012-06-25T15:06:01.863 に答える