我在VB.NET解决方案中编写了一个通用的EventArgs类:
Public Class EventArgs(Of T)
Inherits EventArgs
Private _eventData As T
Public ReadOnly Property EventData() As T
Get
Return _eventData
End Get
End Property
Public Sub New(ByVal data As T)
_eventData = data
End Sub
End Class
当我按照以下示例使用它时,它表示e不符合CLS。任何人都知道如何解决这个问题,或者至少可以解释为什么会发生这种情况?
Event MarketModeChanged(ByVal sender As Object, ByVal e As EventArgs(Of Integer))
答案 0 :(得分:2)
你所做的事似乎没有任何问题,afaik。您的通用事件args类是公共的,这意味着如果您没有将程序集标记为符合cls(将<Assembly: CLSCompliant(True)>
添加到assemblyinfo.vb文件中),如果您尝试在其他类型中使用此类型,则会收到此警告项目
答案 1 :(得分:1)
将<Assembly: CLSCompliant(True)>
添加到定义类型的程序集,或将<CLSCompliant(True)>
添加到类型本身。