3
我敢肯定這可能是非常基本的,但我還沒有看到它的答案。如果我用這樣的列表構造一個視圖模型:構建一個列表視圖模型
public class ProductsViewModel
{
public bool ProductBool { get; set; }
public string ProductString { get; set; }
public int ProductInteger { get; set; }
public List<Product> ProductList { get; set; }
}
它工作正常。但我見過構建類似模型的代碼,如下所示:
public class ProductsViewModel
{
public bool ProductBool { get; set; }
public string ProductString { get; set; }
public int ProductInteger { get; set; }
public List<Product> ProductList { get; set; }
public ProductsViewModel()
{
this.ProductList = new List<Product>();
}
}
額外構造函數元素實際上做了什麼?謝謝你的幫助。
它只是初始化'ProductList'爲空集(所以它不是' null')。所以現在你可以做 - 'var model = new ProductsViewModel();模型Products.Add(新產品());'並且它不會拋出異常(否則你需要在'Add()'方法之前添加'model.ProductList = new List(); –
我認爲沒有必要在構造函數中的產品列表中實例化,定義對象如'列表 ProductList objProductList = new List ProductList();'在列表中的Add()前面 –
@Prabhat沒有任何意義OP顯示屬性;你展示瞭如何初始化一個新的局部變量(我猜你試圖把它分配給'ProductList'屬性)。添加一個局部變量來初始化一個類成員是沒有必要的。 – CodeCaster