如何将同一基类中的子类放入列表中?
我正在使用ASP.NET MVC3并创建了一个basemodel-class,其中包含name,age等属性。现在我创建了更多细节的子模型(子类)。 为了方便地处理子类,我想要一个包含对象的列表但是如何?
我已经阅读过有关接口或ICollection等等但不知道正确的选择以及如何开始: - (
答案 0 :(得分:3)
只需创建列表,使其成为基类:
List<BaseClass> myList = new List<BaseClass>();
然后正常添加子类对象:
myList.Add(new SubClass1());
myList.Add(new SubClass2());
等。其中:
public class SubClass1 : BaseClass {}
public class SubClass2 : BaseClass {}
然后当你把它们拿出来时,你可以使用is
和as
运算符来确定它们实际是什么类型,并在适当的时候处理它们。
答案 1 :(得分:1)
我建议
List<BaseClass>
的
class Derived1 : BaesClass {}
class Derived2 : BaesClass {}