Создать общий список из подкласса - PullRequest
0 голосов
/ 08 октября 2008
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 ]

1 голос
/ 08 октября 2008

Это вопрос дисперсии, который C # не поддерживает для дженериков. См. сообщение Рика Байера на эту тему .

0 голосов
/ 29 октября 2008

В C # 4.0 (как было объявлено вчера) мы на полпути .

0 голосов
/ 08 октября 2008

Если бы вы могли создать список As как список B, то что бы произошло, если бы вы добавили A?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...