我正在尝试创建一个接受Dictionary作为输入的方法。
但是,当我尝试添加以下内容时:
public void WriteToJsonFile(Dictionary<string, T> dicList)
{
... stuff
}
它将声明T缺少程序集或引用。现在,我通过添加
解决了这个问题<T>
到类名,所以它将是一个通用类。我是否正确使用Dictionary类,因为我想要的是创建一个接受Dictionary的方法,其中键是一个字符串,但值可以是任何对象?
答案 0 :(得分:2)
我通过在类名中添加
<T>
来解决这个问题,因此它将是一个通用类。
您不应该这样做,除非您特别需要该类是通用的。
我想要的是创建一个接受字典的方法,其中键是字符串,但值可以是任何对象?
然后你只需要一个Dictionary<string,object>
:这样,一个字典可以有不同类型的对象,所有对象都用字符串键入。更好的是,您可以使用IDictionary<string,object>
让您的类用户通过IDictionary<K,V>
接口的其他实现。
答案 1 :(得分:0)
如果您正在制作通用方法,您应该将其标记为通用方法:
public void WriteToJsonFile<T>(Dictionary<string, T> dicList)
{
}
你应该为System.Collections.Generic添加使用;