[英]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.