【发布时间】:2011-07-18 17:17:08
【问题描述】:
我正在尝试从数据表对象中提取值并动态填充对象以进行 Web 服务调用,我尝试了一些方法,但将它们缩小到这个范围,它似乎缺少反映目标类型的能力并将数据表中的对象合二为一。
我在这里经常摸不着头脑!
foreach (PropertyInfo pi in zAccount)
{
object o = row[pi.Name];
if (o.GetType() != typeof(DBNull))
{
pi.SetValue(a, o, null);
}
}
这给了我类型转换错误:
“System.String”类型的对象无法转换为“System.Nullable`1[System.Boolean]”类型。
所以理想应该是这样的:
foreach (PropertyInfo pi in zAccount)
{
object o = typeof(pi.GetType())row[pi.Name];
pi.SetValue(a, o, null);
}
【问题讨论】:
-
row的确切类型是什么? -
DataRow 我正在遍历一个 DataTable 对象
-
不能将字符串转换为 Nullable
所以这与动态转换无关。
标签: c# visual-studio reflection casting