尝试在此处的项目上运行运行代码分析,并收到许多警告,内容如下:
CA1002:Microsoft.Design:将“ SomeClass.SomeProtectedOrPublicProperty ”中的“List< SomeType >”更改为使用 Collection、ReadOnlyCollection 或 KeyedCollection
为什么我应该使用Collection<T>
而不是List<T>
?当我查看 msdn 文档时,它们似乎几乎相等。在阅读了警告的错误帮助后,我发现
System.Collections.Generic.List(T)_是为性能而非继承而设计的通用集合,因此不包含任何虚拟成员。
但这究竟意味着什么?而我应该怎么做呢?
我应该继续List<T>
在内部使用,然后在属性中返回 anew Collection<T>(someList)
吗?还是我应该开始使用Collection<T>
而不是List<T>
?