下面的代码生成警告 CS3006“重载的方法 MyNamespace.Sample.MyMethod(int[])' 仅在 ref 或 out 或数组等级中不同,不符合 CLS”。
这个警告是否有效,即这真的不符合 CLS 吗?我原以为显式接口实现不会算作重载。
[assembly: CLSCompliant(true)]
namespace MyNamespace
{
public class Sample : ISample
{
public void MyMethod(int[] array)
{
return;
}
void ISample.MyMethod(ref int[] array)
{
this.MyMethod(array);
}
}
public interface ISample
{
void MyMethod([In] ref int[] array);
}
}