Leggere in inglese

Condividi tramite


Avviso del compilatore (livello 1) CS3018

Non è possibile contrassegnare 'type' come conforme a CLS perché è un membro del tipo non conforme a CLS 'type'

Questo avviso viene visualizzato quando una classe annidata con l'attributo CLSCompliant impostato su true viene dichiarata membro di una classe il cui attributo CLSCompliant è impostato su false. L'operazione non è consentita perché una classe nidificata, se è membro di una classe esterna non compatibile con CLS, non può essere compatibile con CLS. Per correggere l'errore, rimuovere l'attributo CLSCompliant dalla classe nidificata oppure sostituire l'impostazione true dell'attributo con false. Per altre informazioni sulla conformità a CLS, vedere Indipendenza del linguaggio e componenti indipendenti dal linguaggio.

Esempio

L'esempio seguente genera l'errore CS3018.

// CS3018.cs  
// compile with: /target:library  
using System;  
  
[assembly: CLSCompliant(true)]  
[CLSCompliant(false)]  
public class Outer  
{  
   [CLSCompliant(true)]   // CS3018  
   public class Nested {}  
  
   // OK  
   public class Nested2 {}  
  
   [CLSCompliant(false)]  
   public class Nested3 {}  
}