为什么编译器会在Test Test
中为SomeClass
提供错误?错误读取类型'TestNamespace.SomeClass'已包含'Test'的定义
public partial class SomeClass
{
//Error on the line below
public Test Test { get; set; }
public partial class Test { }
}
//In another file
public partial class SomeClass
{
public partial class Test
{
private int someField;
}
}
public class SomeOtherClass
{
//No compiler error here
public SomeClass SomeClass { get; set; }
}
答案 0 :(得分:2)
SomeClass
有一个名为Test
的属性,以及一个名为Test
的嵌套类。他们都是SomeClass
的成员,他们的名字相同。这是不允许的。
注意:类中的方法可以共享相同的名称,但不能使用相同的签名。从技术上讲,签名是名称的一部分。