繁体   English   中英

访问公共嵌套类的成员

[英]Access to members of a nested class that are public

我有这样的事情:

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;

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

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

在您的示例中,类是嵌套的。 这并不一定意味着实例也是嵌套的。 相反,也有可能实例是嵌套的,而类不是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM