关联两个不同类的对象

本文关键字:同类 对象 两个 关联 | 更新日期: 2023-09-27 18:12:58

我不确定标题是否足够清楚,但我不知道如何准确描述我的问题。我已经创建了一个名为Window的类,我想创建另一个与类的属性相关的类。我们把这个新类命名为Box。

我们有一个Window类的对象myWindow,和一个Box类的对象myBox。我想确保myBox的大小永远不会大于myWindow的大小。如下图所示:

Window myWindow = new Window()
myWindow.CreateBox()

问题是我不知道如何创建一个方法,它将创建另一个类的对象。同时,它们的属性必须不断地相互关联。

请告诉我如何实现我的想法

关联两个不同类的对象

像这样?

     public class Window
{
    private int _size { get; set; }
    public int Size
    {
        get
        {
            return _size;
        }
        set
        {
            if (value >= MyBox.Size)
                _size = value;
        }
    }
    public Box MyBox { get; set; }
    public Window(int myWindowSize, int myBoxSize)
    {
        if (myBoxSize > myWindowSize)
            throw new ArgumentException("box is bigger than window wah");
        Size = myWindowSize;
        MyBox = new Box(myBoxSize);
    }
    public void UpdateBoxSize(int newSize)
    {
        if (newSize > Size)
            throw new ArgumentException("box is bigger than window wah");
        MyBox.Size = newSize;
    }        
}
public class Box
{
    public int Size { get; set; }
    public Box(int myBoxSize)
    {
        Size = myBoxSize;
    }
}