![]() |
1
2
C不支持列表类型之间的强制转换(协方差)。 支持此模式的最佳选择是为readAllFromDatabase方法引入一个接口,这样您就不需要依赖通用集合:
|
![]() |
2
2
在C 3.0中,这是不可能的,但是在C和带有协方差和反方差的.NET 4.0中,这是可能的。 考虑一下,您将获取一个包含派生对象的集合,并尝试临时将其视为基对象的集合。如果允许这样做,您可以将基对象插入到列表中,而不是派生对象。 这里有一个例子:
|