私はそれが創作時にどのようにオブジェクトを得ることができるか知りたいと思います。私は2つのクラス、Productというクラスと、静的なクラスであるInventoryという別のクラスを持っています。ここ は、製品クラスの定義です:作成時にオブジェクトを取得するにはどうすればよいですか?
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}
はここでインベントリクラスの定義です:
public static class Inventory
{
public static List<Product> Products { get; set; }
}
私はそれが型製品のオブジェクトはそれが作成されています以下、だやりたい何か、このオブジェクトはInventory.Products
リストに追加する必要があるので、後で在庫情報を照会することができます。
私は、Productクラスの内部でこのような何かをできるようにしたいと思います:
public class Product
{
public Product()
{
Inventory.Products.Add(this);
}
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}
私はこれを行うには、コンストラクタを使用している場合Products
がまだ初期化されていないので、しかし、私は、NullReferenceException
を取得します。静的Products
リストを初期化する最適な場所はどこですか?
ここで、 'Inventory.Products = new List();'を呼び出しますか?それがNullRefeferenceExceptionの理由でない場合、 'Products'を初期化しませんでした。 –
このオブジェクトには何が入っていますか?あなたのデバッグは何を提案しますか? –
@RenéVogtありがとう。本当に問題なのです。インベントリが静的クラスで、コンストラクタを持つことができない場合、Productsプロパティを初期化する正しい方法はどこですか? – artie