Option Explicit On
Option Strict On
Public Class Class1
Dim l As List(Of A)
Public Sub New()
l = New List(Of B)
End Sub
End Class
Public Class A
End Class
Public Class B
Inherits A
End Class<p>
我遇到了这个问题。
我有一个声明为通用类型"A">
的列表我想将列表定义为泛型类型"B",它是"A"的子类。
为什么不能这样做,如何达到相同的效果?
这是一个方差问题,C# 不支持泛型。请参阅Rick Byer关于该主题的帖子。
如果您可以将 A 列表转换为 B 列表,那么如果您添加 A 会发生什么?
在 C# 4.0 中(如昨天宣布的(,我们已经完成了一半。