2016-12-06 204 views
-2

我的問題是如何訪問Class1中的「A_Numer」,「A_String」,「A_Property」。 (無論我嘗試在Class1中輸入什麼,我在'當前上下文中不存在'類型,這很有趣,因爲一切都是公開的。)謝謝!如何訪問班級中的班級

public class Class1 
{   


    public class Class2 
    {    
     public int A_Number = 0; 

     public string A_String(int fdsa) 
     { 
      return "dssdaff"; 
     } 

     public string A_Property { get; set; } 
    } 
} 
+0

Class1除Class2外沒有其他任何內容。 – Prajwal

+1

您在訪問Class1和Class2方面實際嘗試了些什麼? – BugFinder

+0

爲什麼你想要一個嵌套的公共類?沒有多大意義。 –

回答

0

我覺得自己沒有錯,從Class1訪問Class2情況下,我希望你可以直接定義實例,並試圖訪問屬性,事情是這樣的:

public class Class1 
{ 
    Class2 Class2Instance = new Class2(); 
    Class2Instance.A_Number = 11;  // not possible  

    public class Class2 
    { 
     // definition here 
    } 
} 

但是,如果你通過一個方法或構造上訪問這些信息,一切都將是精細和完美的作品,看到這個:

public class Class1 
{ 
    // Constructor 
    public Class1() 
    { 
     Class2 Class2Instance = new Class2(); 
     Class2Instance.A_Number=11; 
    } 

    class Class2 
    { 
     public int A_Number = 0; 

     public string A_String(int fdsa) 
     { 
      return "dssdaff"; 
     } 

     public string A_Property { get; set; } 
    } 
} 

注:在這種情況下,他們不需要內部類是公共

+1

嗯,我試着把「Class1.Class2 Experiment = new Class1.Class2(); Experiment.A_Number = 0」直接放進去。不是在方法中......; - /謝謝! :-) – Broadroad

0

我不明白你爲什麼需要這一點,但這裏是你如何能做到這

Class1.Class2 obj = new Class1.Class2(); 
obj.A_Number = 1; 
-1

你需要爲Class2中創建對象

Class1.Class2 Object_Name=new Class1.Class2();