c#现有对象的引用列表

Ema*_*llo 0 c# list

我有一个对象列表,它扩展了我的"基类"和另一个扩展相同"基类"的对象.结构是:

private List<Extended1> list;
private Extended2 item;
Run Code Online (Sandbox Code Playgroud)

我将创建一个列表,我可以将所有元素作为基类获取.类似的东西:

private List<ref BaseClass> items;
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

解决了 我认为列表的添加方法是按值而不是通过引用.我创建了一个基类列表并添加了实际项目.

private List<baseClass> items;
items.add(item);
for(xxxxxx)items.add(list[i]);
Run Code Online (Sandbox Code Playgroud)

Jak*_*cki 7

您只需创建基类的列表即可

var list = new List<BaseClass>();
list.Add(new Extended1());
list.Add(new Extended2());
Run Code Online (Sandbox Code Playgroud)

您可以将派生类的实例添加到此列表中.

您还可以使用TypeOf扩展方法检索某个子类的实例:

var extended1 = list.TypeOf<Extended1>();
Run Code Online (Sandbox Code Playgroud)