我正在尝试使用弱引用(WeakReference),编写代码在返回对象的强引用之前检查弱引用是否有效。
if (weakRef.IsValid)
return (ReferencedType)weakRef.Target;
else
// Build a new object
我该如何防止GC在“IsValid”和“Target”调用之间收集对象?
我正在尝试使用弱引用(WeakReference),编写代码在返回对象的强引用之前检查弱引用是否有效。
if (weakRef.IsValid)
return (ReferencedType)weakRef.Target;
else
// Build a new object
var rt = weakRef.Target as ReferencedType;
if (rt != null)
// You now have a strong reference that you can safely use