我有这样的东西:
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;
答案 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
。
在您的示例中,类是嵌套的。那并不一定意味着实例也是嵌套的。相反,也可以嵌套实例,但不嵌套实例。