0

私はデータのモデリングにあまり取り組んでいませんでしたが、奇妙に思えることに遭遇しました。

私のViewModelは次のようになります

public class HomeIndexViewModel
{
    public Image ForSale { get; set; }
    public Image Sold { get; set; }
    public Image PrivateCollection { get; set; }

    public class Image
    {
        public string ImageUrl { get; set; }
        public string ImageDescription { get; set; }
    }
}

newしかし、防ぐためにすべてのプロパティを使用する必要があるのは奇妙だと思いますnull reference exceptions

var hivm = new HomeIndexViewModel();
hivm.ForSale= new HomeIndexViewModel.Image();
hivm.Sold = new HomeIndexViewModel.Image();
hivm.PrivateCollection = new HomeIndexViewModel.Image();

最初の行のみを使用する必要があるために、これを行うよりスマートな方法はありますか?

var hivm = new HomeIndexViewModel();
4

1 に答える 1

1

デフォルトのコンストラクターを使用しないのはなぜですか?

public class HomeIndexViewModel
{
    public Image ForSale { get; set; }
    public Image Sold { get; set; }
    public Image PrivateCollection { get; set; }

    // Default constructor
    public HomeIndexViewModel()
    {
       ForSale = new Image();
       Sold = new Image();
       PrivateCollection = new Image();
    }

    public class Image
    {
       public string ImageUrl { get; set; }
       public string ImageDescription { get; set; }
    }
}

その後、あなたがするとき

var hivm = new HomeIndexViewModel();

デフォルトのコンストラクターを呼び出し、プロパティを初期化します。

それとも何か間違っていましたか?

于 2012-12-20T02:18:13.613 に答える