영어로 읽기

다음을 통해 공유


컴파일러 경고(수준 1) CS3024

'type' 제약 조건 형식이 CLS 규격이 아닙니다.

CLS 규격이 아닌 형식을 제네릭 형식 제약 조건으로 사용하면 일부 언어에서 작성된 코드가 제네릭 클래스를 사용할 수 없으므로 컴파일러에서 이런 경고가 발생합니다.

이 경고를 제거하려면

  1. 형식 제약 조건에 대해 CLS 규격 형식을 사용합니다.

예시

다음 예제에서는 여러 위치에서 CS3024를 생성합니다.

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

참고 항목