【发布时间】:2015-02-12 13:45:50
【问题描述】:
假设我有 3 个课程:
class Geometry
{ ... }
class Line : Geometry
{ ... }
class Circle : Geometry
{ ... }
我想将Line 和Circle 类的所有对象放入一个通用列表中,如下所示:
List<Geometry> list = new List<Geometry>();
Line line = new Line();
Circle circle = new Circle();
list.Add(line);
list.Add(circle);
我的问题是允许这样做吗?是否仍然可以像这样从列表中检索派生类:
Line newLine = (Line)list[0];
Circle newCircle = (Circle)list[1];
如果没有,那么有没有一种好方法可以将所有这些不同类型的对象存储在同一个列表下?
【问题讨论】:
-
允许使用,没问题。
标签: c# list inheritance