簡體   English   中英

反映PropertyInfo.GetValue

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM