Compiler Warning (level 1) CS3007
只是未命名数组类型不同的重载方法“method”不符合 CLS。
如果你有一个接受交错数组的重载方法,并且方法签名的唯一区别是数组的元素类型,则将发生此错误。为避免此错误,可考虑使用矩形数组而不是交错数组,使用一个额外的参数消除函数调用的歧义,重命名一个或多个重载方法,或者如果不需要 CLS 遵从性,则移除 CLSCompliantAttribute 特性。有关 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) {}
}