私は次のようなカスタムクラス(と呼びましょうMyClass
)を持っています:
public class MyClass
{
private List<MyClass> list;
private object data;
}
ただし、プロパティを取り除き、object
代わりにジェネリック クラスを使用したいと考えています。だから、このようなもの:
public class MyClass<T>
{
private List<MyClass<T>> list;
private T data;
}
ただし、次の動作が必要です。
MyClass<Foo> foo = new MyClass<Foo>;
foo.list = new List<MyClass<Bar>>;
したがって、foo-instance と foo のリスト/データ プロパティに異なるデータ型を持たせる必要があります。ただし、一般的な例の T は同じであり、これのみを許可します。
MyClass<Foo> foo = new MyClass<Foo>;
foo.list = new List<MyClass<Foo>>;
foo.list の各項目には、異なるタイプのリストが含まれます。コンパイルするまでMyClass
に、リスト/データプロパティに含まれるデータ型やレベル数についてはわかりません。この柔軟な構造をどのように構築できますか?