字典中的泛型作为方法的输入

本文关键字:方法 输入 泛型 字典 | 更新日期: 2023-09-27 18:18:19

我正在尝试创建一个接受Dictionary作为输入的方法。

但是,当我尝试添加以下内容时:

 public void WriteToJsonFile(Dictionary<string, T> dicList)
 {
 ... stuff
 }

它将声明T缺少一个程序集或引用。现在,我通过添加

解决了这个问题
<T>

替换为类名,因此它将是泛型类。我是否正确使用字典类,因为我想要的只是创建一个方法,将接受一个字典,其中的关键是一个字符串,但值可以是任何对象?

字典中的泛型作为方法的输入

我通过在类名中添加<T>来解决这个问题,因此它将是一个泛型类。

你不应该这样做,除非你特别需要类是泛型的。

所有我想要的是创建一个方法,将接受一个字典,其中关键是一个字符串,但值可以是任何对象?

你所需要的只是一个Dictionary<string,object>:这样,一个字典可以有不同类型的对象,所有的键都是字符串。更好的是,您可以使用IDictionary<string,object>让您的类用户传递IDictionary<K,V>接口的其他实现。

如果你使用的是泛型方法,你应该把它标记为泛型:

    public void WriteToJsonFile<T>(Dictionary<string, T> dicList)
    {
    }
你应该添加using for System.Collections.Generic;