C#
コンストラクターを作成するときにどのようなアプローチを取るべきか、誰かにアドバイスしてもらえますか?
のような他の言語ではC++
、すべて問題ありません。通常、内部フィールドを表示せず、ゲッター/セッターを提供しません。
これは、クラスにコンストラクターを提供して、ローカル メンバーのすべてまたは一部を初期化し、満足できることを意味します。
C#
しかし、 は を持っているproperties
ので、次のように書くことができます:
Class x = new Class { Field1 = new Field1 ...., Field2 = new Field2 }
これにより、オブジェクト構築の連鎖が可能になり、私が推測するように、多くのコンストラクターを削除できますproperties
。
これをプロパティのデフォルト値と組み合わせると、私が推測するように、実際にいくつかの作業を行う特殊化されていないコンストラクターを完全に取り除くことができます。
さて、冗長なコンストラクターを削除し、フィールドの初期化によるオブジェクトの構築を許可してもよろしいですか?
このアプローチの欠点は何ですか? フィールドとコンストラクターの使用法を組み合わせることについて、誰かが一般的な推奨事項rules of thumb
を教えてくれますか?
ありがとうございました。