我有一个对象列表,它扩展了我的"基类"和另一个扩展相同"基类"的对象.结构是:
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)
您只需创建基类的列表即可
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)
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |