2016-12-06 148 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();