您可以检查对象是否为null,但是您可以检查对象是否有效吗?
Assert.IsValid(object_name);
Run Code Online (Sandbox Code Playgroud)
例如,垃圾收集器已删除该对象,或者某人已对其进行了处置.但指针仍然指向该对象.
如果对象已被垃圾收集器释放,则根据定义,您将不会引用该对象.
如果它被处理掉并且对于对象的有效性很重要,那么类型应该提供一种确定它的方法.(例如,在某些情况下Dispose
,只能表示"重置".)
即使允许引用已处置对象的可能性,也很少适用 - 如果您使用:
using (Foo foo = new Foo())
{
...
}
Run Code Online (Sandbox Code Playgroud)
然后该对象将在foo
超出范围的同时处理,因此这不是问题.
归档时间: |
|
查看次数: |
3342 次 |
最近记录: |