c# – Visual Studio代码分析规则 – “不公开通用列表”

前端之家收集整理的这篇文章主要介绍了c# – Visual Studio代码分析规则 – “不公开通用列表”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Do not expose generic lists

如果我所有的方法,需要公开一个集合,那么我需要用户的Linq扩展.ToList(),几乎所有的地方我需要使用列表,或用户集合在我的所有代码.

如果是这样,那么.ToList()忽略规则吧?还是有一种像复制列表的技术来解决违规问题,但仍然返回列表?

解决方法

我禁用该规则,因为我不觉得这是一个有效的规则.如果要返回包含O(1)计数的集合,而不是直接引用内部字段,则List< T>是最好的选择.

我在这里深深地不了解你的情况,但是听起来你有一种方法可以返回一些内部数据的LINQ查询.如果是这种情况,那么对数据使用.ToList()是适当的,因为您可能不希望将来修改内部字段来影响方法的返回值.在这种情况下,没有理由不将其公开为List< T>.

猜你在找的C#相关文章