我正在修改我的所有代码以符合FxCop,这意味着放弃了很多数组,列表支持ReadOnlyCollection,我同意这个建议。但是,在制作
时ReadOnlyCollection<ReadOnlyCollection<T>>
替换二维数组或
List<List<T>> I now get the
CA1006: Do not nest generic types in member signatures
投诉。首先,虽然它看起来不实用,但它看起来并不复杂或难以理解,因为它本质上是一个不可变的List<List<T>>
,我认为鉴于数组的缺点,它是非常常见的。
其次,我想不出存储二维数据的替代方法,并且是不可变的,除非我特别为此创建一个新类型。
请在这里找到最佳做法。难道这个FxCop规则在这里并不适用,应该被抑制吗?
非常感谢。
答案 0 :(得分:-1)
这篇文章的评论似乎也适用于此:
警告是一般警告,可以帮助您设计更好的警告 和更简单的公共接口。在这种情况下,您会收到警告 具有表达式&gt;你的参数 方法。但是,对于这种方法,没有必要简化 键入,而不是您应该使用属性或抑制警告 从规则集中完全删除规则。
一个愚蠢的例子,你可能应该考虑遵循 规则的建议是这样的方法:
public void F(
Dictionary<String, List<Tuple<<String, Int32>>>
字典);
Martin Liversage的回答@ https://stackoverflow.com/a/14945331/1775528