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