簡體   English   中英

c# Object 參考未設置為 object 的實例

[英]c# Object reference not set to an instance of an object

信息路徑中的錯誤:

Object 引用未設置為 object 的實例。 在 Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent) 在 Microsoft.Office.InfoPath.Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent) 的 InfoPathFormTemplate5.FormCode.CTRL407_5_Clicked(Object sender, ClickedEventArgs e)

VB2005 中的錯誤:Object 引用未設置為 object 的實例。 用戶代碼未處理 System.NullReferenceException 消息="對象引用未設置為 object 的實例。" Source="InfoPathFormTemplate5" StackTrace: 在 InfoPathFormTemplate5.FormCode.CTRL407_5_Clicked(Object sender, ClickedEventArgs e) 在 C:\Documents and Settings\pebabczu\Desktop\IntakeForm Copy\InfoPathFormTemplate5\FormCode.cs:line 206 在 Microsoft.Office.InfoPath。 Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent) 上的 Internal.ButtonEventHost.OnButtonClick(DocActionEvent pEvent)

代碼:

string TeamL = xnMyForm.SelectSingleNode("/my:myFields/my:field149", ns).Value;
string ACC = xnMyForm.SelectSingleNode("/my:myFields/my:Bank", ns).Value;
string remarkmain = xnMyForm.SelectSingleNode("/my:myFields/my:field104", ns).Value;
string RemarkHR = xnMyForm.SelectSingleNode("/my:myFields/my:Remarks1", ns).Value;
string RemarkTL = xnMyForm.SelectSingleNode("/my:myFields/my:field55", ns).Value;
string RemarkIT = xnMyForm.SelectSingleNode("/my:myFields/my:RemarksICT", ns).Value;
string Rmain = "Remarks: " + remarkmain;
string RHR = "Remarks: " + RemarkHR;
string RTL = "Remarks: " + RemarkTL;
string RIT = "Remarks: " + RemarkIT;

我不明白...剛進入 C# 我做錯了什么。?

好吧,您正在取消引用原來是 null 的東西。

很難確切地說出您發布的代碼中哪一行有問題,但您應該查看第 206 行。我強烈懷疑SelectSingleNode正在為您的 XPath 表達式之一返回null - 然后您嘗試訪問Value屬性,這導致了異常。

因此,您需要:

  • 找出導致問題的線路
  • 找出是因為數據錯誤還是您的 XPath 查詢
  • 考慮在訪問值之前進行空值檢查(如果你真的應該總是找到一個節點,那么異常可能已經是正確的方法了)

在實例化之前正在使用某些東西,或者是null - xnMyForm實例化了嗎? 然后進一步檢查所有其他代碼路徑以確定元素是否為null或返回此類。

xnMyFormnull ,或者您正在嘗試 select 文檔中不存在的節點(使用SelectSingleNode )並且在返回的null上調用.Value

很可能您的 SelectSingleNode() 調用之一會返回 null,因此您不能將 a.Value 去掉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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