【发布时间】:2016-08-15 09:04:22
【问题描述】:
在方法声明中使用 IList<Dictionary<string, string>> 作为参数类型时,发生 FXCop 违规
它不嵌套泛型类型
IList<Dictionary<string, string>>
我该如何解决这个问题?
【问题讨论】:
-
你可以创建一个包含列表的类,但我会忽略这个规则。
在方法声明中使用 IList<Dictionary<string, string>> 作为参数类型时,发生 FXCop 违规
它不嵌套泛型类型
IList<Dictionary<string, string>>
我该如何解决这个问题?
【问题讨论】:
原因是:
嵌套类型参数是一种类型参数,也是泛型类型。 要调用签名包含嵌套类型参数的成员, 用户必须实例化一个泛型类型并将该类型传递给 第二种泛型类型的构造函数。所需的程序和 语法很复杂,应该避免。
它可以帮助您设计更简单的界面。您有 3 个案例:
SuppressMessage属性你可以试试:
public void Method(Dictionary<string, string> param)
并使用:
var list = new IList<Dictionary<string, string>>();
list.Add(new Dictionary<string, string>{{"key1", "value1"}, {"key2", "value2"}});
list.Add(new Dictionary<string, string>{{"key11", "value11"}, {"key22", "value22"}});
foreach(var element in list)
{
Method(element);
}
【讨论】: