컴파일러 경고(수준 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) {}
}