如何将同一基类中的子类放入列表中?

时间:2011-05-31 22:55:46

标签: c# asp.net-mvc-3 subclass

如何将同一基类中的子类放入列表中?

我正在使用ASP.NET MVC3并创建了一个basemodel-class,其中包含name,age等属性。现在我创建了更多细节的子模型(子类)。 为了方便地处理子类,我想要一个包含对象的列表但是如何?

我已经阅读过有关接口或ICollection等等但不知道正确的选择以及如何开始: - (

2 个答案:

答案 0 :(得分:3)

只需创建列表,使其成为基类:

List<BaseClass> myList = new List<BaseClass>();

然后正常添加子类对象:

myList.Add(new SubClass1());
myList.Add(new SubClass2());

等。其中:

public class SubClass1 : BaseClass {}
public class SubClass2 : BaseClass {}

然后当你把它们拿出来时,你可以使用isas运算符来确定它们实际是什么类型,并在适当的时候处理它们。

答案 1 :(得分:1)

我建议

List<BaseClass>

class Derived1 : BaesClass {}
class Derived2 : BaesClass {}