我有一个自定义类(我们称之为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 实例和 foo 中的列表/数据属性提供不同的数据类型。但是通用示例中的 T 将是相同的,并且只允许这样做:
MyClass<Foo> foo = new MyClass<Foo>;
foo.list = new List<MyClass<Foo>>;
foo.list 中的每个项目将再次具有一个可能属于不同类型的列表。到我编译时,MyClass
我不知道列表/数据属性中将包含哪些数据类型或将有多少级别。如何构建这种灵活的结构?