我试着写:
Event EventName(Of T)()
但Visual Studio告诉我“无法在此声明中指定类型参数。”
这样的声明是否可行,还是我必须将T作为常规参数?
答案 0 :(得分:1)
Event关键字类似于声明类中的字段。你不会期望找到:
Private i as GenericClass(Of T)
在一个尚未通用的类中。
您可以使用泛型类型声明 Delegate :
Public Delegate Sub Blah(Of T)()
但是你要声明你的事件属于具体类型:
Public Event EventName As Blah(Of Int16)
或者,如果您的类是通用的,那么您也可以将该事件声明为通用:
Public Delegate Sub Blah(Of T)()
Public Class Referral(Of U)
Public Event EventName As Blah(Of U)
End Class
当然,所有这些空的参数列表看起来也相当可疑。如果您能提供更多代码/更多解释您正在尝试做什么,我们可能会做得更好。