是否可以在vb.NET中声明一般事件?

时间:2010-10-27 10:11:28

标签: vb.net events generics declaration

我试着写:

Event EventName(Of T)()

但Visual Studio告诉我“无法在此声明中指定类型参数。”

这样的声明是否可行,还是我必须将T作为常规参数?

1 个答案:

答案 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

当然,所有这些空的参数列表看起来也相当可疑。如果您能提供更多代码/更多解释您正在尝试做什么,我们可能会做得更好。