FxCop 有CollectionPropertiesShouldBeReadOnly 规则,如果你的类有某种客户可以设置的集合属性,它会抱怨。相反,它建议将属性设为只读并提供 Clear() 方法和 Add() 或 AddRange() 方法来更改集合的内容。
我同意这会产生一个更清洁、更可控的界面,但我正在努力使该界面与 Spring 框架一起工作。如果我想用协作者集合配置一个对象,我必须公开一些集合属性来注入协作者。我查看了 Spring 文档,但看不到任何方法可以告诉 Spring 调用 AddRange() 方法,我是否遗漏了什么?
现在,我将排除警告,并说明它是 Spring 配置所必需的。
更新:因为在过去的两个月里我没有在这里吃任何东西,所以我在FxCop 论坛上发布了同样的问题。