我遇到了FxCop警告CA1006,Microsoft.Design "DoNotNestGenericTypesInMemberSignatures"的问题。具体来说,我正在设计一个从
修复此警告的建议并不是很有用:
“要修复此规则的违规情况,请更改设计以删除嵌套类型参数。”目前我可以看到两种改变设计的方法:
1.将构造函数设置为
2.将构造函数取代为
目前,我已经放弃并抑制了这个警告。有更好的解决方案吗?
ReadOnlyCollection<Report<T>>
继承的ReportCollection<T>
类,其public
构造函数需要以IList<Report<T>>
为参数。修复此警告的建议并不是很有用:
“要修复此规则的违规情况,请更改设计以删除嵌套类型参数。”目前我可以看到两种改变设计的方法:
1.将构造函数设置为
internal
。在我的情况下,这种方法行不通。构造函数必须为public
,因为该集合类需要由程序集外部的代码实例化。2.将构造函数取代为
Report<T>[]
而不是IList<Report<T>>
。这是次优的,因为外部代码应该具有使用动态大小数据结构(如List<T>
)而不是固定大小数组的灵活性。目前,我已经放弃并抑制了这个警告。有更好的解决方案吗?