从子类创建泛型列表
本文关键字:列表 泛型 创建 子类 | 更新日期: 2023-09-27 17:47:47
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 中(如昨天宣布的(,我们已经完成了一半。