访问公共嵌套类的成员

我有这样的事情:


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;


慕仙森
浏览 72回答 1
1回答

catspeake

您正在混合类和对象。您需要访问对象的字段或属性: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.在您的示例中,类是嵌套的。这并不一定意味着实例也是嵌套的。相反,也有可能实例是嵌套的,但类不是。
打开App,查看更多内容
随时随地看视频慕课网APP