ここのプロジェクトでRunCodeAnalysisを実行しようとしましたが、次のような警告がいくつか表示されました。
CA1002:Microsoft.Design: ' SomeClass.SomeProtectedOrPublicProperty 'の'List < SomeType >'を、Collection、ReadOnlyCollection、またはKeyedCollectionを使用するように変更します
なぜCollection<T>
代わりに使用する必要がありList<T>
ますか?msdnのドキュメントを見ると、ほぼ同じように見えます。警告のエラーヘルプを読んだ後、私はそれを見つけました
System.Collections.Generic.List(T)_は、継承ではなくパフォーマンスを目的として設計された汎用コレクションであるため、仮想メンバーは含まれていません。
しかし、これは本当にどういう意味ですか?そして、私は代わりに何をすべきですか?
List<T>
内部で使用し続ける必要がありますが、プロパティでnew Collection<T>(someList)
代わりにを返しますか?または、Collection<T>
代わりに使用を開始する必要がありList<T>
ますか?