【问题标题】:How can I put subclasses from the same baseclass into a list?如何将来自同一基类的子类放入列表中?
【发布时间】:2011-05-31 22:55:46
【问题描述】:

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

我正在使用 ASP.NET MVC3 并创建了一个具有名称、年龄等属性的基本模型类。现在我创建了包含更多细节的子模型(子类)。 为了轻松处理子类,我想要一个包含对象的列表,但是如何处理?

我已经阅读了有关接口或 ICollection 等的信息,但不知道什么是正确的选择以及如何开始 :-(

【问题讨论】:

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


    【解决方案1】:

    只需创建列表,使其属于基类:

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

    然后照常添加您的子类对象:

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

    等等。其中:

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

    然后,当您将它们取出时,您可以使用isas 运算符来确定它们实际上是什么类型并酌情处理它们。

    【讨论】:

    • 你把isas算作“反射”吗?
    【解决方案2】:

    我会推荐

    List<BaseClass>
    

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

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多