簡體   English   中英

對象引用未設置為對象的實例...錯誤?

[英]Object reference not set to an instance of an object…Error?

好的,所以我對C#全新,我正在嘗試調試錯誤。 基本上我正在嘗試為SharePoint列表創建一個EventReceiver ...這是在我調試時給出對象引用錯誤的代碼:

   public override void ItemAdding(SPItemEventProperties properties)
   {
       base.ItemAdding(properties);

       SPListItem item = properties.ListItem;

       if (item["Name"] == null)
           return; //or better yet, log 

       string oldFileName = item["Name"].ToString();

我正在做的是進入調試模式,並選擇將文件添加到SharePoint庫(這是在ItemAdding事件中),現在在我選擇要上傳的文件后顯示此錯誤,任何想法為什么?

謝謝你的幫助!

它不是“對象引用錯誤”,它是由於您嘗試訪問item的索引運算符而導致的NullReferenceException ,該運算符為null

您可以通過在if語句的行中設置斷點並將鼠標懸停在不同的變量上來找到它。

要解決此問題,請確保properties.ListItem包含非null值或在if中插入另一個檢查:

if (item == null || item["Name"] == null)

您可能會收到錯誤,因為SPListItem item為null。 您無法訪問null變量。 您可以嘗試將代碼更新為:

       SPListItem item = properties.ListItem;

       if (item == null || item["Name"] == null) 
           return; //or better yet, log
SPListItem item = properties.ListItem;
System.Debug.Assert(item != null, "item is null.");


if (item["Name"] == null) --DEBUGGER STOPS HERE
    return; //or better yet, log 

它似乎是item或更具體的properties.ListItem為null! 由於item只是一個參考。

暫無
暫無

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

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