ito*_*son 13

原因是具体的使用List<T>是一个实现细节,你的意思是暴露一些更抽象的东西,比如IEnumerable<T>or ICollection<T>,它只代表你想要暴露的功能(比如可枚举,可变和/或可索引的).这使您可以灵活地在以后更改实现.

在实践中,这个警告通常通过返回IList<T>来解决,而不是List<T>,但想法是提示您考虑" 我实际需要哪些功能来保证我的呼叫者?" 例如,也许我应该返回,或者因为我不希望我的调用者弄乱返回的集合.IEnumerable<T>ReadOnlyCollection<T>