Ler em inglês

Partilhar via


Aviso do compilador (nível 1) CS3024

O tipo de restrição 'tipo' não é compatível com CLS.

O compilador emite esse aviso porque o uso de um tipo não compatível com CLS como uma restrição de tipo genérico pode impossibilitar que o código escrito em algumas linguagens consuma sua classe genérica.

Para eliminar este aviso

  1. Use um tipo compatível com CLS para a restrição de tipo.

Exemplo

O exemplo a seguir gera CS3024 em vários locais:

// 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;  
    }  
}  

Consulte também