问题描述
|
如何将相同基类的子类放入列表中?
我正在使用ASP.NET MVC3,并创建了具有名称,年龄等属性的基本模型类。现在,我创建了具有更多详细信息的子模型(子类)。
为了轻松处理子类,我想要一个包含对象的列表,但是如何呢?
我已经阅读了有关接口或ICollection等的内容,但不知道什么是正确的选择以及如何开始:-(
解决方法
只需创建列表即可,使其属于基类:
List<BaseClass> myList = new List<BaseClass>();
然后像往常一样添加子类对象:
myList.Add(new SubClass1());
myList.Add(new SubClass2());
等等,其中:
public class SubClass1 : BaseClass {}
public class SubClass2 : BaseClass {}
然后,当您取出它们时,可以使用is
和as
运算符确定它们的实际类型,并适当地对其进行处理。
, 我会推荐
List<BaseClass>
对于
class Derived1 : BaesClass {}
class Derived2 : BaesClass {}