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

Do not expose generic lists

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

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

解决方法

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

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...