タグ付けされた質問 「readonly-collection」

5
メンバーコレクションを公開するためのReadOnlyCollectionまたはIEnumerable?
呼び出しコードがコレクションを反復するだけの場合、内部コレクションをIEnumerableではなくReadOnlyCollectionとして公開する理由はありますか? class Bar { private ICollection<Foo> foos; // Which one is to be preferred? public IEnumerable<Foo> Foos { ... } public ReadOnlyCollection<Foo> Foos { ... } } // Calling code: foreach (var f in bar.Foos) DoSomething(f); ご覧のとおり、IEnumerableはReadOnlyCollectionのインターフェイスのサブセットであり、ユーザーがコレクションを変更することはできません。したがって、IEnumberableインターフェースで十分な場合は、それを使用します。それはそれについて推論する適切な方法ですか、それとも何か不足していますか? ありがとう/ Erik

6
.NET 4.0の読み取り専用リストまたは変更不可能なリスト
私の知る限りでは、.NET 4.0にはまだ読み取り専用リストがありません。なぜフレームワークはまだこの機能を欠いているのですか?これは、ドメイン駆動設計の最も一般的な機能の1つではありませんか? JavaがC#よりも優れている数少ない利点の1つは、Collections.unmodifiablelist(list)メソッドの形式です。これは、IList <T>またはList <T>ではかなり遅れているようです。 を使用することIEnumerable<T>は、質問に対する最も簡単な解決策です- ToList使用でき、コピーを返します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.