Il membro 'MustOverride' non conforme a CLS non è consentito in una <classname> conforme a CLS

Un classe è contrassegnata come <CLSCompliant(True)>, ma contiene una proprietà o routine MustOverride che è contrassegnata come <CLSCompliant(False)> o non è contrassegnata.

Quando una classe è conforme all'indipendenza del linguaggio e ai componenti indipendenti dal linguaggio (CLS), un'applicazione che usa tale classe accede solo ai membri che sono contrassegnati come <CLSCompliant(True)> e ignora i membri che non lo sono. Tuttavia, l'applicazione non può ignorare una proprietà o routine MustOverride perché deve accedervi per eseguirne l'override.

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

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

Per impostazione predefinita, si tratta di un messaggio di avviso. Per informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configuring Warnings in Visual Basic.

ID errore: BC40034

Per correggere l'errore

  • Se è richiesta la conformità con CLS ed è possibile accedere al codice sorgente della classe, contrassegnare il membro come <CLSCompliant(True)>.

  • Se è richiesta la compatibilità con CLS e non è possibile accedere al codice sorgente della classe o se esso non può essere conforme, definire il membro all'interno di una classe differente.

  • Se è richiesto che il membro rimanga non conforme, rimuovere la parola chiave MustOverride dalla relativa definizione, rimuovere l'oggetto CLSCompliantAttribute dalla definizione di classe o contrassegnare la classe come <CLSCompliant(False)>.

Vedi anche