在嵌套的类之后命名变量的问题

时间:2013-11-21 21:35:41

标签: c# visual-studio-2013

为什么编译器会在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; }
}

1 个答案:

答案 0 :(得分:2)

SomeClass有一个名为Test的属性,以及一个名为Test的嵌套类。他们都是SomeClass的成员,他们的名字相同。这是不允许的。

注意:类中的方法可以共享相同的名称,但不能使用相同的签名。从技术上讲,签名名称的一部分。