c#通过访问嵌套的公共类。操作人员

c#通过访问嵌套的公共类。操作人员,c#,.net,class,nested,C#,.net,Class,Nested,我正在寻找一种使用“.”运算符访问嵌套公共类的方法。 因此,对于下面的示例,我想访问嵌套在House类中的Kitchen类 public class House{ public class Kitchen{ //some public properties public int numberOfChairs {get; set;} } } //Now want to access Kit

我正在寻找一种使用“.”运算符访问嵌套公共类的方法。 因此,对于下面的示例,我想访问嵌套在House类中的Kitchen类

   public class House{

        public class Kitchen{
            //some public properties
            public int numberOfChairs {get; set;}
        }

    }


    //Now want to access Kitchen in another class.
    public class Main{
            House newHouse = new House();
            newHouse.Kitchen.numberOfChairs = 5;
    }


any hint and help is much appreciate.

您需要创建一个厨房实例。比如:

House.Kitchen newKitchen = new House.Kitchen();
newKitchen.numberOfChairs = 5;
根据答复更新的答复:


在这种情况下,你的家庭类,也需要有一个厨房成员

public class House{

    public class Kitchen{
        //some public properties
        public int numberOfChairs {get; set;}
    }

    public House() {
      kitchen = new Kitchen();
    }

    public Kitchen kitchen {get; set;}

}

public class Main{
    House newHouse = new House();
    newHouse.kitchen.numberOfChairs = 5;
}

您需要创建一个厨房实例。比如:

House.Kitchen newKitchen = new House.Kitchen();
newKitchen.numberOfChairs = 5;
根据答复更新的答复:


在这种情况下,你的家庭类,也需要有一个厨房成员

public class House{

    public class Kitchen{
        //some public properties
        public int numberOfChairs {get; set;}
    }

    public House() {
      kitchen = new Kitchen();
    }

    public Kitchen kitchen {get; set;}

}

public class Main{
    House newHouse = new House();
    newHouse.kitchen.numberOfChairs = 5;
}
看看这个。 也就是说,你为什么要嵌套那个类?从你想要使用它的方式和你已经公开的事实来看,你为什么不使用厨房类型的属性呢?

看看这个。
也就是说,你为什么要嵌套那个类?从您想要使用它的方式以及您已经公开了它的事实来看,为什么不使用Kitchen类型的属性呢?

现在,您只声明了一个嵌套类。你的房子里没有那个阶级的实例。就个人而言,我认为您甚至不需要嵌套类。这可能是一门普通的课。但您需要一个实例:

public class House{

    public class Kitchen{
        //some public properties
        public int numberOfChairs {get; set;}
    }

    public Kitchen TheKitchen { get; set; }

}


//Now want to access Kitchen in another class.
public class Main{
        House newHouse = new House();
        newHouse.TheKitchen = new House.Kitchen();   
        newHouse.TheKitchen.numberOfChairs = 5;
}

现在,您只声明了一个嵌套类。你的房子里没有那个阶级的实例。就个人而言,我认为您甚至不需要嵌套类。这可能是一门普通的课。但您需要一个实例:

public class House{

    public class Kitchen{
        //some public properties
        public int numberOfChairs {get; set;}
    }

    public Kitchen TheKitchen { get; set; }

}


//Now want to access Kitchen in another class.
public class Main{
        House newHouse = new House();
        newHouse.TheKitchen = new House.Kitchen();   
        newHouse.TheKitchen.numberOfChairs = 5;
}

在House类中添加Kitchen属性,这样就可以从House访问Kitchen实例

public class House{
    public Kitchen KitchenProp { get; set; }
    public class Kitchen{
            //some public properties
            public int numberOfChairs {get; set;}
        }
    }


    //Now want to access Kitchen in another class.
    public class Main{
            House newHouse = new House();
            newHouse.KitchenProp = new Kitchen();
            newHouse.KitchenProp.numberOfChairs = 5;
    }

在House类中添加Kitchen属性,这样就可以从House访问Kitchen实例

public class House{
    public Kitchen KitchenProp { get; set; }
    public class Kitchen{
            //some public properties
            public int numberOfChairs {get; set;}
        }
    }


    //Now want to access Kitchen in another class.
    public class Main{
            House newHouse = new House();
            newHouse.KitchenProp = new Kitchen();
            newHouse.KitchenProp.numberOfChairs = 5;
    }

好的,那行,但更准确地说,我希望厨房是房子的一部分。这样我就可以使用House类的“实例”访问厨房。这可能吗?感谢您的快速回复。在这种情况下,您的家庭班级还需要一名厨房成员。我已经更新了答案。好的,可以了,但更准确地说,我希望厨房是房子的一部分。这样我就可以使用House类的“实例”访问厨房。这可能吗?感谢您的快速回复。在这种情况下,您的家庭班级还需要一名厨房成员。我已经更新了答案。嵌套类是类型的一部分,而不是实例的一部分。您试图用嵌套类解决什么问题?嵌套类是类型的一部分,而不是实例的一部分。您试图用嵌套类解决什么问题?