Il metodo '<nomeprocedura>' per l'evento '<nomeevento>' non può essere contrassegnato come compatibile con CLS perché il tipo che lo contiene '<nometipo>' non è compatibile con CLS

Aggiornamento: novembre 2007

'<procedurename>' method for event '<eventname>' cannot be marked CLS compliant because its containing type '<typename>' is not CLS compliant

Un evento personalizzato dichiara una routine AddHandler o RemoveHandler e la contrassegna come <CLSCompliant(True)>, ma l'evento è definito in un tipo contrassegnato come <CLSCompliant(False)> o non contrassegnato.

Quando CLSCompliantAttribute viene applicato a un elemento di programmazione, il parametro isCompliant dell'attributo viene impostato su True o False per indicare la compatibilità o la non compatibilità. L'impostazione predefinita per questo parametro non è disponibile, è necessario quindi specificare un valore.

Se a un elemento non viene applicato CLSCompliantAttribute, l'elemento non sarà considerato compatibile.

Per impostazione predefinita, questo è un messaggio di avviso. Per informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configurazione degli avvisi in Visual Basic.

ID errore: BC40053

Per correggere l'errore

  • Se è necessaria la compatibilità con CLS, definire l'evento all'interno di un tipo compatibile con CLS.

  • Se è necessario che l'evento rimanga all'interno del tipo che lo contiene, rimuovere CLSCompliantAttribute dalla sua definizione oppure contrassegnarlo come <CLSCompliant(False)>.

Vedere anche

Attività

Procedura: dichiarare gli eventi per evitare il blocco

Procedura: dichiarare gli eventi per preservare l'utilizzo della memoria

Concetti

AddHandler e RemoveHandler

Scrittura di codice compatibile con CLS