从子类创建通用列表

时间:2008-10-07 21:07:35

标签: c# vb.net generics reflection

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'的子类。

为什么不能这样做,以及如何实现同样的效果呢?

3 个答案:

答案 0 :(得分:1)

这是一个差异问题,C#不支持泛型。请参阅Rick Byer's post on the subject

答案 1 :(得分:0)

如果您可以将As列表列为B列表,那么如果添加A会发生什么?

答案 2 :(得分:0)

在C#4.0(昨天宣布)中,我们是half way there