[英]Reflection PropertyInfo.GetValue
我是C#中使用反射的新手。 任何帮助深表感谢。
PropertyInfo.GetValue(obj,null)给出了一个对象值。
如果数据库中列的值为null,则会出现Null异常:
System.Reflection.TargetInvocationException:调用目标抛出了异常。 Microsoft.SqlServer.Dts.Pipeline.ColumnIsNullException:该列具有空值。
如何处理这种情况? 我应该循环遍历所有列并保留具有空值的列。
您应该能够直接检查'Null',如下所示
if(propInfo.GetValue(this, null) != null) {
}
该财产的吸气者正在抛出一个除外。 它试图告诉你该物业没有价值。
您应该能够检查PropertyName_IsNull
(其中PropertyName是属性的名称)以检查属性是否为空。 如果为null,则适当处理,否则使用您已编写的代码。
来自MSDN :
每个选定输入列的<column> _IsNull属性。 此属性也是只读或读/写,具体取决于为列指定的使用类型。
PropertyInfo.GetValue(obj, null)
正在对象obj
上执行属性get方法。 在get方法中抛出异常。 您需要查看要调用的属性get方法,并确定何时/为什么抛出异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.