0

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

参数

目标

类型:System.Object

要跟踪的对象或 null。

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

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

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

谢谢。

4

2 回答 2

0

看起来应该使用特殊对象(这意味着“没有数据”)而不是“null”(与Ca​​n null 是否插入缓存中的答案相同/相似?问题)

于 2012-05-01T03:11:53.630 回答
0

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

于 2012-04-30T04:35:54.540 回答