是否可以判断两个WeakReferences是否指向c#中的同一个对象而不需要不安全的上下文?

时间:2016-02-04 22:30:34

标签: c# comparison weak-references

假设我有两个WeakReference个实例,我想看看它们是否指向同一个对象。您可以想象两个场景,其中两个引用都指向同一个对象:

SomeClass a = 1;
var wr1 = new WeakReference(a);
var wr2 = new WeakReference(a);

和他们不在的地方:

SomeClass a = 1;
SomeClass b = 1;
var wr1 = new WeakReference(a);
var wr2 = new WeakReference(b);

有没有办法确定他们是否指向同一个对象而不会陷入不安全的上下文? WeakReference.GetHashCode()在两种情况下都会返回不同的值,但我找不到任何可能相关的其他成员。

1 个答案:

答案 0 :(得分:2)

目标属性对底层对象的引用。

试试这个:

wr1.Target == wr2.Target
相关问题