C#中的嵌套类帮助

时间:2014-11-16 23:40:22

标签: c# class inner-classes class-constructors

由两部分组成的问题

使用我们老师为我们提供的代码片段,研究旨在跟踪任意数量仿制药店库存的MDI计划。我的思维过程是“商店有一个名称和一个项目记录”,所以下面的类定义代表了我定义商店的程度。

第1部分)如何在类Store中创建未知数量的类Record数组?这个想法是商店不会限制在100个不同的商品上。对于每个项目,都有一个记录,这应该能够考虑添加一个新记录。

第2部分)我将如何在这个之外构建类?基本上,我将有一个窗口,它要求提供有关该项目的信息(名称,ID号等)。如何在Store中创建新记录?

感谢您的帮助。类定义如下。

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Inventory
{
    class Store
    {
        public Store() { }
        public Store(string name) { }
        public string name { get; set; }

        [Serializable]
        class Record
        {
            public Record() { }
            public Record(int ID, int Quantity, double Price, string Name) { }
            public int id { get; set; }
            public int quantity { get; set; }
            public double price { get; set; }
            public string name { get; set; }
        }
    }
}

1 个答案:

答案 0 :(得分:3)

只需单独定义类,并在另一个内部定义一个集合。

我使用了私有的setter,所以你只能在类中初始化它,然后在类外添加和删除项目。

namespace Inventory
{
    class Store
    {
        public Store() : this(null) { }
        public Store(string name) {
             Records = new List<Record>();
        }
        public string name { get; set; }

        public List<Record> Records { get; private set; }
    }

    class Record
    {
        public Record() { }
        public Record(int ID, int Quantity, double Price, string Name) { }
        public int id { get; set; }
        public int quantity { get; set; }
        public double price { get; set; }
        public string name { get; set; }
    }
}