3
以下代碼生成警告CS3006「重載的方法MyNamespace.Sample.MyMethod(int [])'僅在ref或out或array rank中不同,不符合CLS」。在這種情況下警告CS3006有效嗎?
此警告是否有效,即是否真的不符合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);
}
}
這很有趣。我沒有答案,但我會試着找出...... IMO,它不應該是一個錯誤。 – 2009-05-22 11:13:00
順便說一句,我已經在.NET 4.0中試過了,它的行爲相同。 – 2009-05-22 11:20:32