Учитывая следующие:самосправочные переменные общие члены в VB.NET
Public MustInherit Class A(Of X As A(Of X, Y), Y As B(Of X, Y))
End Class
Public MustInherit Class B(Of X As A(Of X, Y), Y As B(Of X, Y))
End Class
Public Class D
Private _v As A(Of X As A(Of X, Y), Y AS B(Of X, Y))
Public Sub Initialize(Of X As A(Of X, Y), Y As B(Of X, Y))(ByVal v As A(Of X, Y))
_v = v
End Sub
End Class
Можно ли определить переменную _V члена? Ключевое слово «As», по-видимому, не доступно при определении переменной-члена, поэтому приведенное выше не будет компилироваться, а компилятор жалуется, что слишком мало параметров типа.
Как следует из (но, возможно, не достаточно четко) в ответ Джареда, проблема здесь не само-референциальности. Это означает, что * переменная * не может быть общей, а только классом (или методом). –