1

二部構成の質問

先生から提供されたコードのスニペットを使用して、ジェネリック ストアの在庫をいくつでも追跡できるように設計された MDI プログラムに取り組んでいます。私の思考プロセスは「ストアには名前とアイテムのレコードがある」というものでした。したがって、以下のクラス定義は、私が定義したストアの範囲を表しています。

パート 1) クラス Store 内に未知数のクラス Record の配列を作成するにはどうすればよいですか? ストアは、たとえば 100 種類のアイテムに限定されないという考えです。アイテムごとに 1 つのレコードがあり、これで新しいレコードを追加できます。

パート 2) このクラス以外でクラスを構築するにはどうすればよいですか? 基本的に、アイテムに関する情報 (名前、ID 番号など) を尋ねるウィンドウを用意します。ストア内に配置する新しいレコードを作成するにはどうすればよいですか?

助けてくれてありがとう。クラス定義は以下です。

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; }
        }
    }
}
4

1 に答える 1

3

クラスを個別に定義し、一方のコレクションを他方の中に定義するだけです。

私はプライベートセッターを使用したので、クラス内でのみ初期化でき、クラス外からアイテムを追加および削除できます。

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; }
    }
}
于 2014-11-16T23:52:22.537 に答える