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