编译器警告(等级 1)CS3007
更新:2007 年 11 月
错误消息
只是未命名数组类型不同的重载方法“method”不符合 CLS。
如果您有一个接受交错数组的重载方法,并且方法签名的唯一区别是数组的元素类型,则将发生此错误。为避免此错误,可考虑使用矩形数组而不是交错数组,使用一个额外的参数消除函数调用的歧义,重命名一个或多个重载方法,或者如果不需要 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) {}
}