微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

Do not expose generic lists

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

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

解决方法

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

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

原文地址:https://www.jb51.cc/csharp/97009.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐