【发布时间】:2011-03-01 11:19:57
【问题描述】:
可能重复:
In C#, why can't a List<string> object be stored in a List<object> variable
假设您有一个类,它通过不同类的集合触发事件。您想要获取这些集合并实例化一个对象,该对象将 List
最佳做法是什么?
如果事件返回 List 或 IList,您必须在从更具体的类的 List 创建它时进行一些讨厌的转换,比如 List
new DataObject(someClasses.Cast<object>().ToList())
您可以在事件中使用 Enumerable
Lists 不能自动向下转换为对象似乎有点奇怪
【问题讨论】:
-
标记为重复,但你考虑过非泛型
IList接口吗? -
是的,这可能是一个解决方案,谢谢。不过,现在使用非泛型接口有点伤人 :)
标签: c# .net generics covariance