访问公共的嵌套类的成员

时间:2019-03-13 15:12:21

标签: c#

我有这样的东西:

public class OuterClass
{
   // other methods and fields... 

    public class InnerClass {
        public int Prop1 {get; set;}
        public int Prop2 {get; set;}
    }
}

,然后在method中,我传递了一个OuterClass类型的对象。 我以为我可以写这样的东西。但是智能感知并没有显示出来。

outerClassobject.InnerClass.Prop1 = 234;

1 个答案:

答案 0 :(得分:2)

您正在混合类和对象。您需要访问对象的字段或属性:

OuterClass.InnerClass innerClassObject = new OuterClass.InnerClass();
innerClassObject.Prop1 = 234;

或者:

public class OuterClass
{
   // other methods and fields... 
    public InnerClass InnerClassProp { get; } = new InnerClass();

    public class InnerClass {
        public int Prop1 { get; set; }
        public int Prop2 { get; set; }
    }
}

outerClassobject.InnerClassProp.Prop1 = 234;

当您要访问内部类的属性时,需要一个实例。因此,在上面的示例中,OuterClass.InnerClass被实例化并分配给InnerClassProp

在您的示例中,类是嵌套的。那并不一定意味着实例也是嵌套的。相反,也可以嵌套实例,但不嵌套实例。