如何将null传递给WeakReference构造函数?

时间:2012-04-30 04:13:27

标签: c# null weak-references

http://msdn.microsoft.com/en-us/library/xt0a1s34(v=vs.100).aspx

  

参数

     

     

类型:System.Object

     

要跟踪的对象或null。

据我所知,这意味着'null'是WeakReference对象的有效参数......

我看到的问题如下:在提取值时,我将检查Target是否为空...如果不是 - 将使用它作为对象。但是如果“null”作为原始目标传递,那么weakReference对象的属性“Target”将不会给我信息:对象已经被垃圾收集,或者它总是为空。

问题:如果“目标”为空,我怎么能理解它,因为原始对象也是空的?

感谢。

2 个答案:

答案 0 :(得分:0)

您可能想尝试IsAlive属性。它是一个布尔值,它将告诉您是否已收集指向的对象。

答案 1 :(得分:0)

看起来应该使用特殊对象(表示“没有数据”)而不是“null”(与Can null be inserted into Cache?问题中的答案相同/类似)