【发布时间】:2017-03-22 17:33:15
【问题描述】:
我想要一个类类型列表(不是类实例列表),其中列表的每个成员都是 MyClass 的子类。
例如,我可以这样做:
List<System.Type> myList;
myList.Add(typeof(mySubClass));
但我想限制列表只接受 MyClass 的子类。
这与问题like this 不同。 理想情况下,我想避免使用 linq,因为它目前在我的项目中未使用。
【问题讨论】:
-
创建您自己的列表,继承自 List 并覆盖
Add方法。 -
我认为您无法在编译时验证这一点。您可以创建自己的列表并添加添加。
-
@dcg 这根本不允许您完成此操作,因为
Add不是虚拟的。您需要编写一个列表,而不是从它继承。
标签: c# list class generics types