C# - 类实例化其他类?

SC'*_*C'1 5 c# class instantiation c#-4.0

我是一个C#初学者,我正在努力解决课程彼此之间的关系.

我正在尝试编写一个非常简单的电梯模拟.我有一个电梯班:

class Elevator
{
    public int currentFloor;

    public Elevator()
    {
        currentFloor = 0;
    }

    public void ascend()
    {
        currentFloor++;
    }

    public void descend()
    {
        currentFloor--;
    }
}
Run Code Online (Sandbox Code Playgroud)

非常简单.这是有效的,我可以实例化一个新的电梯对象并使其上下移动等...

现在,我想创建一个建筑物对象,所以我为建筑物创建了一个新类.但是,我现在卡住了 - 如何在建筑物中添加可变数量的电梯对象?例如,我可能想要实例化一个带有3个电梯的建筑物,或者另一个带有5个电梯的建筑物......

我开始创建一个解决方案,其中建筑类有一个我可以动态添加的电梯列表,但这看起来很钝.所以我要找的是:

Building office = new Building();
office.elevator1 = new Elevator();
office.elevator2 = new Elevator();
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,因为我没有在Building类中声明的elevator1和elevator2.完成我想做的最好/最干净的方法是什么?还有,这叫什么?我用谷歌搜索了大量的术语 - 类属于另一个类,从另一个类实例化一个类,与对象而不是类相似的术语......我也看了一些电梯模拟器代码,但找不到像我正在寻找的任何动态......

Jon*_*Jon 5

有一个List<Elevator>是非常合适的; 它很好地描述了现实世界的模型.

如果它是一个Elevator[](在某种意义上可能不可能在建筑物建成后改变已安装的电梯的数量)会更好,但这并不是绝对的.

在任何情况下,电梯的集合都应该作为适当类型的只读属性公开,因为将它与另一个交换是没有意义的.