【发布时间】:2013-08-07 13:53:17
【问题描述】:
我正在使用以下 linq 来解析我返回的数据集:
row.Field<long?>("id").HasValue == false &&
我遇到的问题是,从Sql Server获取数据集时,该字段需要解析为<int?>,而从Oracle获取时,需要解析为<long?>。有没有办法创建一个变量,我可以传递给 .Field 方法来动态设置这个数据类型?我想要这样的东西:
Type T = IsSqlServer ? typeof(int?) : typeof(long?);
....
row.Field<T>("id").HasValue == false &&
提前致谢!
【问题讨论】:
-
你不能使用
dynamic关键字吗? -
@Killercam 成功了!如果你把它作为一个答案,我会尽可能地标记它。
标签: c# linq c#-4.0 dataset typing