如何从C#中的同名Inner类访问Outer类的字段? (嵌套级)

时间:2013-10-20 17:54:07

标签: c# nested-class

如果参数名与外层类的字段名相同,如何从内部类访问外部类的字段?

例如 -

class OuterClass
{
    static int Number;

    class InnerClass
    {
        public InnerClass(int Number)
        {
            Number = Number;   // This is not correct
        }
    }
}

所以我尝试如下 -

class OuterClass
{
    static int Number;

    class InnerClass
    {
        public InnerClass(int Number)
        {
            this.this.Number = Number;   // Gives compiler error
        }
    }
}

如何访问它,请帮助...

感谢。

3 个答案:

答案 0 :(得分:1)

由于它是static,您只需写下:OuterClass.Number = Number;

即可访问它

答案 1 :(得分:1)

您正在寻找

class OuterClass
{
    static int Number;

    class InnerClass
    {
        public InnerClass(int Number)
        {
            OuterClass.Number = Number;   
        }
    }
}

答案 2 :(得分:0)

您可以采取以下措施:

Public InnerClass
{
    private MainClass _mainclass;

    public InnerClass(MainClass mainclass)
    {
         this._mainclass = mainclass;
    }


}

这样,您始终使用对父类的引用创建内部类,并可以使用mainclass调用它。