【发布时间】:2011-02-14 13:47:59
【问题描述】:
有一种方法将基础对象列表作为参数。
abstract class Base {}
class MyClass:Base {}
//...
void Method(List<Base> list) {}
当我调用该方法时,我想传递派生对象的列表。
var derivedList = new List<MyClass>();
Method(derivedList);
但我不能这样做,因为派生的集合与基础对象的集合不同。 处理这种情况的最佳做法是什么?现在我正在使用我的扩展 .ToBase() 来创建新集合,但我认为有更好的解决方案。
谢谢。
【问题讨论】:
标签: c# oop collections