2012-04-18 6 views
-1

私はこの問題にどこに立っているのか分かりません。私は引数としてIEnumerableをとるコンストラクタを公開するいくつかのクラスを見てきました。これは私にとっては間違っていると感じていますが、私はなぜそれがわかりません。私は、クラスにAdd(T t)を持たせたいと思っています。それは私にとってはきれいだ。IEnumerable <T>をクラスに挿入するのは悪い習慣ですか?

答えて

0

コンストラクタの引数で項目を追加したほうが良い場合や、その後のAddメソッドの呼び出しでは大文字と小文字が区別されます。一般的なルールはありません。

  • アイテムを作成後に追加しない場合は、コンストラクタに渡す必要があります。オブジェクトは不変であってもよい。遅れてアイテムを追加することは、違法または複雑すぎることがあります。
  • クラスが(Listのような)コンテナを表す場合、両方を持つことが現実的かもしれません。オブジェクト初期化子を使用するだけでなく、別のコンテナからアイテムをコピーすることもできます。
  • コンテナの作成時にアイテムが通常わからない場合は、コンストラクタにコンテナを渡すことは有用ではありません。

など。

関連する問題