FxCop擁有CollectionPropertiesShouldBeReadOnly rule,如果您的課程具有客戶端可以設置的某種集合屬性,則會投訴。相反,它建議使屬性爲只讀並提供Clear()方法和Add()或AddRange()方法來更改集合的內容。FxCop的CollectionPropertiesShouldBeReadOnly規則是否與Spring框架不兼容?
我同意使用更乾淨和更受控制的接口,但我努力使該接口與Spring框架一起工作。如果我想用一組協作者來配置一個對象,我必須公開一些收集屬性以將協作者注入。我已經瀏覽了the Spring documentation,我看不出有什麼辦法可以告訴Spring調用AddRange()方法,我錯過了什麼嗎?
現在,我將排除警告,並提示它是Spring配置所必需的。
更新:由於在過去兩個月中我沒有收到任何小字,所以我在FxCop forum上發佈了相同的問題。
Spring是一個依賴注入框架,所以它的呼喚myInstance.Items = ...在創建對象的時候。這感覺很奇怪,但我認爲設計用於依賴注入/反轉控制框架的類需要比平常更加被動。 – 2008-12-29 21:14:40