C# 泛型类型的FXCop冲突

C# 泛型类型的FXCop冲突,c#,asp.net,fxcop,C#,Asp.net,Fxcop,在方法声明中将IList用作参数类型时,发生FXCop冲突 它不嵌套泛型类型IList 如何解决此问题?原因是: 嵌套类型参数是同时也是泛型类型的类型参数。 要调用其签名包含嵌套类型参数的成员 用户必须实例化一个泛型类型并将该类型传递给 第二个泛型类型的构造函数。所需的程序和 语法很复杂,应该避免使用 它可以帮助您设计更简单的界面。您有3个案例: 使用属性 您可以尝试: public void Method(Dictionary<string, string> param)

在方法声明中将
IList
用作参数类型时,发生FXCop冲突

它不嵌套泛型类型
IList

如何解决此问题?

原因是:

嵌套类型参数是同时也是泛型类型的类型参数。 要调用其签名包含嵌套类型参数的成员 用户必须实例化一个泛型类型并将该类型传递给 第二个泛型类型的构造函数。所需的程序和 语法很复杂,应该避免使用

它可以帮助您设计更简单的界面。您有3个案例:

  • 使用属性
您可以尝试:

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);
}
var list=new IList();
添加(新字典{{“key1”、“value1”}、{“key2”、“value2”});
添加(新字典{{“key11”,“value11”},{“key22”,“value22”});
foreach(列表中的var元素)
{
方法(要素);
}

另请参见此,您可以创建一个包含列表的类,但我将忽略此规则。