考虑这段代码:
var weakRef = new WeakReference(new StringBuilder("Mehran"));
if (weakRef.IsAlive)
{
// Garbage Collection might happen.
Console.WriteLine((weakRef.Target as StringBuilder).ToString());
}
可以GC.Collect
在检查之后weakRef.IsAlive
和使用weakRef.Target
.
我错了吗?如果可能的话,ss有一种安全的方法吗?
例如,类似的 APIweakRef.GetTargetIfIsAlive()
将是合适的。