我有这样的事情: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 回答
![?](http://img1.sycdn.imooc.com/54584d9f0001043b02200220-100-100.jpg)
catspeake
TA贡献1111条经验 获得超0个赞
您正在混合类和对象。您需要访问对象的字段或属性:
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.
在您的示例中,类是嵌套的。这并不一定意味着实例也是嵌套的。相反,也有可能实例是嵌套的,但类不是。
- 1 回答
- 0 关注
- 71 浏览
添加回答
举报
0/150
提交
取消