C#でセッターなしでプロパティのオブジェクトを初期化する最良の方法は何ですか?
たとえば、タイプ UserData のプロパティがあり、それを初期化できます。
- コンストラクタで
ゲッターで
private UserData _user; public UserData User { get { return _user?? (_user= new UserData ()); } }
フィールドの初期化:
private UserData _user = new UserData()
類似のスレッドはほとんど見つかりませんでした。コンストラクター内またはクラスC# メンバー変数
の初期化の先頭でオブジェクトを作成します。
ベストプラクティス?
しかし、それは 1 番目と 3 番目のオプションの間の考慮事項です - 誰も 2 番目のオプションについて考えていません - 方法を知っていますか? しばらくの間、オブジェクトを取得するのが私の好ましいオプションですが、私が知らないいくつかの短所があるのではないかと思います。
最適なオプションと、2 番目のオプションを利用できる問題を教えてください。