【发布时间】:2011-05-04 10:02:18
【问题描述】:
我有一个对象列表,我的类型为 QuoteHeader,我想将此列表作为对象列表传递给能够接受 List<object> 的方法。
我的代码行是...
Tools.MyMethod((List<object>)MyListOfQuoteHeaders);
但我在设计时收到以下错误...
Cannot convert type 'System.Collections.Generic.List<MyNameSpace.QuoteHeader>'
to 'System.Collections.Generic.List<object>'
我需要对我的班级做任何事情来允许这样做吗?我认为所有类都继承自 object 所以我不明白为什么这不起作用?
【问题讨论】:
-
为什么要将 List
转换为 List -
如果可能的话,您可以将 any 对象添加到列表中。违反了
List<Foo>仅包含与 Foo 的赋值兼容的对象的规则。您必须创建一个新列表。
标签: c# generics casting covariance