C# 使用IEnumerable参数调用泛型方法<;T>;

C# 使用IEnumerable参数调用泛型方法<;T>;,c#,asp.net,linq,generics,C#,Asp.net,Linq,Generics,这是要调用的方法: public static DataTable LinqToDataTable<T>(IEnumerable<T> varlist) { .. } 我想调用linqtodatable方法,将列表作为参数发送。 我试图使用,但它不适用 DataTable datatable = Tools.LinqToDataTable<>(list.ToList()); DataTable=Tools.linqtodatable(list.ToL

这是要调用的方法:

public static DataTable LinqToDataTable<T>(IEnumerable<T> varlist)
{
   ..
}
我想调用
linqtodatable
方法,将
列表作为参数发送。
我试图使用
,但它不适用

DataTable datatable = Tools.LinqToDataTable<>(list.ToList());
DataTable=Tools.linqtodatable(list.ToList());

完全删除通用参数:

DataTable datatable = Tools.LinqToDataTable(list.ToList());

编译器应该从那里推断泛型类型。您甚至可以直接传递列表(根据定义,查询是可枚举的)。

工具。linqtodatable(list.ToList())
应该可以工作,或者
工具。如果不打算立即执行,也不需要linqtodatable(list)
ToList
DataTable datatable = Tools.LinqToDataTable(list.ToList());