編譯器警告 (層級 1) CS3007
更新:2007 年 11 月
錯誤訊息
只有未命名陣列型別有差異的多載方法 'method' 不符合 CLS 標準
如果您有使用不規則陣列 (Jagged Array) 的多載方法,而方法簽章的唯一不同只在於陣列的元素型別,便會發生這個錯誤。若要避免這個錯誤,請用矩形陣列取代不規則陣列、使用額外的參數來分辨函式呼叫、重新命名一或多個多載方法,或者如果不需要符合 CLS 標準,可移除 CLSCompliantAttribute 屬性。如需 CLS 標準符合性的詳細資訊,請參閱撰寫符合 CLS 標準的程式碼和 Common Language Specification。
範例
下列範例會產生 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) {}
}