我有以下简单的功能:
private static Nullable<T> CastValue<T>(object val)
where T : struct
{
if (!(val is DBNull))
{
return (T) val;
}
return null;
}
我想在迭代数据表的行/列时调用它,如下所示:
var table = CreateTable();
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Type type = column.DataType;
CastValue<type>(row[column]);
}
}
但是,我收到以下错误:
找不到类型或命名空间名称“type”(您是否缺少 using 指令或程序集引用?)
有没有办法使用在运行时确定的泛型参数调用泛型函数?