2010-02-17 4 views
1

J'ai écrit un EventArgs générique classe dans ma solution VB.NET:EventArgs (T) est marqué comme non conforme CLS

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 

Quand je l'utilise comme dans l'exemple suivant, il est dit que e est pas conforme CLS. Quelqu'un sait comment contourner cela, ou au moins peut expliquer pourquoi cela arrive?

Event MarketModeChanged(ByVal sender As Object, ByVal e As EventArgs(Of Integer)) 

Répondre

2

Il ne semble pas y avoir de problème avec ce que vous avez fait, afaik. La classe de vos arguments génériques est publique, ce qui signifie que si vous n'avez pas marqué l'assembly comme cls (ajoutez <Assembly: CLSCompliant(True)> à votre fichier assemblyinfo.vb), vous obtiendrez cet avertissement si vous essayez d'utiliser ce type dans d'autres projets.

1

Ajouter <Assembly: CLSCompliant(True)> à l'assemblée qui définit le type, ou ajouter <CLSCompliant(True)> le type lui-même.

Questions connexes