如何在运行时设置泛型方法的类型
本文关键字:泛型方法 类型 设置 运行时 | 更新日期: 2023-09-27 18:30:37
这样的事情可能吗:
int testvar = 0;
var query = PrimaryDataSource.AsEnumerable().Where(r =>
r.Field<testvar.GetType()>("col") == testvar);
但我不想要这个:
int testvar = 0;
if (testvar is int)
{
var query = PrimaryDataSource.AsEnumerable().Where(r =>
r.Field<int>("col") == testvar);
}
只是不要使用 Field
来获取值; 将其作为对象获取:
var query = PrimaryDataSource.AsEnumerable().Where(r =>
object.Equals(r["col"], testvar));
使用泛型的全部意义在于,当您知道静态涉及的类型时,要具有静态类型。 既然你不这样做,那么使用它没有任何好处。