Compartir a través de


Advertencia del compilador CS3024

Actualización: noviembre 2007

Mensaje de error

El tipo de restricción 'tipo' no es conforme a CLS.
Constraint type 'type' is not CLS-compliant.

El compilador emite esta advertencia porque el uso de un tipo no conforme a CLS como restricción de tipo genérico puede hacer que el código escrito en determinados lenguajes no pueda utilizar la clase genérica.

Para eliminar esta advertencia

  • Utilice un tipo conforme a CLS para la restricción de tipo.

Ejemplo

El ejemplo siguiente genera la advertencia CS3024 en varias ubicaciones:

// cs3024.cs
// Compile with: /target:library
 [assembly: System.CLSCompliant(true)]

[type: System.CLSCompliant(false)]
public class TestClass // CS3024
{
    public ushort us;
}
[type: System.CLSCompliant(false)]
public interface ITest // CS3024
{}
public interface I<T> where T : TestClass
{}
public class TestClass_2<T> where T : ITest
{}
public class TestClass_3<T> : I<T> where T : TestClass
{}
public class TestClass_4<T> : TestClass_2<T> where T : ITest
{}
public class Test
{
    public static int Main()
    {
        return 0;
    }
}

Vea también

Referencia

Restricciones de tipos de parámetros (Guía de programación de C#)