List<T>IReadOnlyCollection<T>インターフェイスを実装し、AsReadOnly()返すメソッドを提供しますReadOnlyCollection<T>(これは を実装しますIReadOnlyCollection<T>)。
の使用法/理由はAsReadyOnly()何ですか? その存在は、リストを as として返すIReadOnlyCollection<T>だけでは不十分な 1 つまたは 2 つのエッジ ケースの匂いがします。
ReadOnlyCollection<T>最初は、コストのキャストを防ぐためかもしれませんが、のItemsアクセサーでそれができるようです。
ところで。ReadOnlyCollection<T>タイプ読み取りのドキュメント
汎用の読み取り専用コレクションの基本クラスを提供します。
私の頭の中で、コンストラクターを次のように記述することと競合します
指定されたリストの読み取り専用ラッパーである (...) クラスの新しいインスタンスを初期化します。
更新:ReadOnlyCollection<T>がItems保護され
ていることはわかりませんでした。