Прочитать на английском

Поделиться через


Предупреждение компилятора (уровень 1) CS3024

Тип ограничения "тип" несовместим с CLS

Компилятор выдает это предупреждение, поскольку применение несоответствующего CLS типа в качестве как ограничения универсального типа может привести к невозможности использования этого универсального класса в коде, написанном на некоторых языках.

Устранение этого предупреждения

  1. Используйте CLS-совместимый тип для ограничения типа.

Пример

В следующем примере ошибка CS3024 возникает в нескольких местах:

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

См. также