创建属性以存储实例c#

创建属性以存储实例c#,c#,properties,instance,C#,Properties,Instance,我认为这些问题很简单,直到我意识到它所指的TableOrder实例包含两个属性(一种食物和一种饮料) 初始化时,TableBill实例将接受两组参数中的一组: A.本账单所指的表号。或 B表编号和已为该表放置的顺序 请注意,初始化选项为创建的账单实例留出了空间,该实例尚未包含此表的订单。提供一个名为Order的属性,该属性将允许存储和检索TableOrder的实例 所以我的问题是,这是否意味着我需要存储这两个属性,还是为TableOrder创建一个新属性?(我怀疑后者,因为这门课叫TableOr

我认为这些问题很简单,直到我意识到它所指的TableOrder实例包含两个属性(一种食物和一种饮料)

  • 初始化时,TableBill实例将接受两组参数中的一组: A.本账单所指的表号。或 B表编号和已为该表放置的顺序
  • 请注意,初始化选项为创建的账单实例留出了空间,该实例尚未包含此表的订单。提供一个名为Order的属性,该属性将允许存储和检索TableOrder的实例
  • 所以我的问题是,这是否意味着我需要存储这两个属性,还是为TableOrder创建一个新属性?(我怀疑后者,因为这门课叫TableOrder

    我已经醒了24小时了,现在我正在努力理解这些问题


    任何帮助都将不胜感激。

    当第一个问题谈到初始化的
    时,它可能意味着使用构造函数

    你的班级可以是这样的:

    public class TableBill
    {
        public Order Order
        {
            get
            {
                return this._order;
            }
            set
            {
                this._order = value;
            }
        }
        private Order _order = null;
    
        public TableBill(int tableNumber)
        {
            // ...
        }
    
        public TableBill(int tableNumber, Order order)
        {
            // check for nulls etc...
    
            // ...
            this.Order = order;
        }
    }
    
    您还可以使用可选参数将两个构造函数合并为一个:

    public TableBill(int tableNumber, TableOrder order = null)
    {
        this.TableNumber = tableNumber;
        this.Order = order;
    }
    

    你了解构造器了吗?@rhughes是的,我知道,我之前确实想到过,但由于这个问题没有使用这个术语,我认为必须有另一种方法?这与我之前(第一节)的内容非常相似。但出于某种原因,它告诉我无法找到“TableNumber”?有什么想法吗
    public TableBill(int tableNumber, TableOrder order = null)
    {
        this.TableNumber = tableNumber;
        this.Order = order;
    }