【发布时间】:2011-10-27 05:03:53
【问题描述】:
对于以下代码行:
Class1 Obj1 = GetObjByID(ID);
if (Obj1!= null)
{
Obj1.IsAgentReserved = true; // causing exception here
Obj2.EstDeviceID = Obj1.Extension;
}
我有异常“System.NullReferenceException:对象引用未设置为对象的实例。”在 Obj1.IsAgentReserved = true;,虽然我在此之前进行了空检查。
可能的原因是什么?这种情况偶尔会发生,我无法重现。
我检查了以下内容:
1. != 运算符没有重载
2. Stacktrace 对我来说似乎是正确的
3. 当前版本的代码匹配堆栈跟踪
【问题讨论】:
-
IsAgentReserved是属性吗?如果是,setter 的代码是什么样的? -
如果
Obj1在抛出异常后实际上为null?一定是其他对象导致了异常。 -
GetObjByID(ID);是否返回类Class1的对象? -
这是实际代码吗?你真的有一个叫“Class1”的类吗?
标签: c# .net nullreferenceexception