Il tipo '<nometipo1>' non può essere contrassegnato come compatibile con CLS perché il tipo che lo contiene '<nometipo2>' non è compatibile con CLS

Aggiornamento: novembre 2007

Type '<typename1>' cannot be marked CLS-compliant because its containing type '<typename2>' is not CLS-compliant

Una classe o un'interfaccia è contrassegnata come <CLSCompliant(True)> quando è nidificata in un tipo contrassegnato come <CLSCompliant(False)> oppure non contrassegnato.

Una classe o un'interfaccia è compatibile con Specifiche CLS (Common Language Specification) (CLS) se lo è anche la relativa gerarchia di contenimento. Di conseguenza anche tutti i tipi in cui la classe o l'interfaccia è nidificata devono essere compatibili.

Quando si applica l'CLSCompliantAttribute 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 CLSCompliantAttribute non viene applicato a un elemento, l'elemento non sarà considerato compatibile.

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

ID errore: BC40030

Per correggere l'errore

  • Se è necessaria la compatibilità CLS, definire questo tipo in un'altra gerarchia di contenimento.

  • Se questo tipo deve rimanere nella gerarchia di contenimento corrente, rimuovere CLSCompliantAttribute dalla definizione o contassegnarlo come <CLSCompliant(False)>.

Vedere anche

Concetti

Scrittura di codice compatibile con CLS