加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:48:20 所属栏目:百科 来源:网络整理
导读:Do not expose generic lists 如果我所有的方法,需要公开一个集合,那么我需要用户的Linq扩展.ToList(),几乎所有的地方我需要使用列表,或用户集合在我的所有代码. 如果是这样,那么.ToList()忽略规则吧?还是有一种像复制列表的技术来解决违规问题,但仍然返回
Do not expose generic lists

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读