2013-10-20 74 views
0

如果參數的名稱與外部類的字段名相同,如何從內部類訪問外部類的字段?如何從C#中的同名內部類訪問外部類的字段? (嵌套類)

例如 -

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 
     } 
    } 
} 

我如何可以訪問它,請幫助...

感謝。

回答

1

您正在尋找

class OuterClass 
{ 
    static int Number; 

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

這應該只適用於'靜態'類或我缺少什麼? – Marco

+0

只有靜態是,所有其他人都需要對實例的引用 – Fredou

1

既然是static,你可以通過寫訪問:OuterClass.Number = Number;

0

你可以做一些這樣的臺詞:

Public InnerClass 
{ 
    private MainClass _mainclass; 

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


} 

這樣,你總是通過引用父類來創建內部類,並且可以用mainclass來調用它。

相關問題