Leer en inglés

Compartir a través de


Advertencia del compilador (nivel 1) CS3018

El tipo 'type' no se puede marcar como conforme con CLS porque es miembro de un tipo 'type' no conforme con CLS

Esta advertencia se produce si una clase anidada con el atributo CLSCompliant establecido en true se declara como un miembro de una clase declarada con el atributo CLSCompliant establecido en false. Esto no se permite, ya que una clase anidada no puede ser conforme con CLS si es miembro de una clase externa que no es conforme con CLS. Para resolver esta advertencia, quite el atributo CLSCompliant de la clase anidada o cámbielo de true a false. Para más información sobre la conformidad con CLS, vea Independencia del lenguaje y componentes independientes del lenguaje.

Ejemplo

El ejemplo siguiente genera la advertencia CS3018.

C#
// 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 {}  
}