如何在运行时将类名动态传递到列表C#

如何在运行时将类名动态传递到列表C#,c#,.net,list,generics,C#,.net,List,Generics,我需要将类名动态地传递给函数中的List,但我得到的错误如下 public void updateList <T>( T clazz, string classData) { if (string.IsNullOrEmpty(json_response) == false) { List<clazz> list_of_measurements_Original = JsonConve

我需要将类名动态地传递给函数中的List,但我得到的错误如下

 public void  updateList <T>( T clazz, string classData)
 {                      

     if (string.IsNullOrEmpty(json_response) == false)
     {
         List<clazz> list_of_measurements_Original = JsonConvert.DeserializeObject<List<clazz>>(json_response);
     } // Getting error for ClassType in List
 }
public void updateList(T clazz,string classData)
{                      
if(string.IsNullOrEmpty(json_响应)==false)
{
List of_measurements_Original=JsonConvert.DeserializeObject(json_响应);
}//获取列表中类类型的错误
}
错误CS0246:找不到类型或命名空间名称“clazz”(是否缺少using指令或程序集引用?)

我有许多类,我希望通过传递类名或枚举,通过相同的泛型函数动态更新。 我还将Dynamic关键字用作函数参数,但没有结果。 请帮帮我。

换衣服

List<clazz> objlist = new List<clazz>();
List objlist=new List();

List objlist=new List();
这里
T
是一个类型参数,它是特定类型的占位符。编译器将
T
更改为您传递的任何类型。不能将变量(clazz)作为泛型类的类型参数传递

变化

List<clazz> objlist = new List<clazz>();
List objlist=new List();

List objlist=new List();
这里
T
是一个类型参数,它是特定类型的占位符。编译器将
T
更改为您传递的任何类型。不能将变量(clazz)作为泛型类的类型参数传递

变化

List<clazz> objlist = new List<clazz>();
List objlist=new List();

List objlist=new List();
这里
T
是一个类型参数,它是特定类型的占位符。编译器将
T
更改为您传递的任何类型。不能将变量(clazz)作为泛型类的类型参数传递

变化

List<clazz> objlist = new List<clazz>();
List objlist=new List();

List objlist=new List();

这里
T
是一个类型参数,它是特定类型的占位符。编译器将
T
更改为您传递的任何类型。不能将变量(clazz)作为泛型类的类型参数传递

“clazz”是编译器搜索类型时的参数。您不需要将类型作为参数传递,这就是泛型的用途。试试这个:

    public void  updateList <T>(string classData)
    {

         List<T> objlist = new List<T>(); 
    }
public void updateList(字符串类数据)
{
列表对象列表=新列表();
}

编译器搜索类型时,“clazz”是一个参数。您不需要将类型作为参数传递,这就是泛型的用途。试试这个:

    public void  updateList <T>(string classData)
    {

         List<T> objlist = new List<T>(); 
    }
public void updateList(字符串类数据)
{
列表对象列表=新列表();
}

编译器搜索类型时,“clazz”是一个参数。您不需要将类型作为参数传递,这就是泛型的用途。试试这个:

    public void  updateList <T>(string classData)
    {

         List<T> objlist = new List<T>(); 
    }
public void updateList(字符串类数据)
{
列表对象列表=新列表();
}

编译器搜索类型时,“clazz”是一个参数。您不需要将类型作为参数传递,这就是泛型的用途。试试这个:

    public void  updateList <T>(string classData)
    {

         List<T> objlist = new List<T>(); 
    }
public void updateList(字符串类数据)
{
列表对象列表=新列表();
}

即使这是正确的答案,也要尽量避免更改答案。试着解释他们为什么需要改变。@Johan感谢你的提示。尽管这是正确的答案,但试着避免改变答案。试着解释他们为什么需要改变。@Johan感谢你的提示。尽管这是正确的答案,但试着避免改变答案。试着解释他们为什么需要改变。@Johan感谢你的提示。尽管这是正确的答案,但试着避免改变答案。试着解释他们为什么需要改变。@Johan谢谢你的提示