Я экспериментирую с WeakReference и пишу код, который проверяет допустимость слабой ссылки, прежде чем возвращать сильную ссылку на объект.
if (weakRef.IsValid)
return (ReferencedType)weakRef.Target;
else
// Build a new object
Как я должен предотвратить сбор GC объекта между вызовами "IsValid" и "Target"?