다음을 통해 공유


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

업데이트: 2007년 11월

오류 메시지

명명되지 않은 배열 형식만 다른 오버로드된 'method' 메서드는 CLS 규격이 아닙니다.
Overloaded method 'method' differing only by unnamed array types is not CLS-compliant

이 오류는 오버로드된 메서드에서 인수로 가변 배열을 사용하고 메서드 시그니처에서 배열의 요소 형식만 다른 경우에 발생합니다. 이 오류를 해결하려면 가변 배열 대신 사각형 배열을 사용하고, 함수 호출의 모호성을 없애기 위해 추가적인 매개 변수를 사용하고, 오버로드된 메서드 중 하나 이상의 이름을 바꾸거나, CLS 규격이 필요하지 않은 경우에는 CLSCompliantAttribute 속성을 제거하십시오. CLS 규격에 대한 자세한 내용은 CLS 규격 코드 작성공용 언어 사양을 참조하십시오.

예제

다음 샘플에서는 CS3007 오류가 발생하는 경우를 보여 줍니다.

// CS3007.cs
[assembly: System.CLSCompliant(true)]
public struct S
{
    public void F(int[][] array) { }
    public void F(byte[][] array) { }  // CS3007
    // Try this instead:
    // public void F1(int[][] array) {}
    // public void F2(byte[][] array) {}
    // or 
    // public void F(int[,] array) {}
    // public void F(byte[,] array) {}
}