Я понимаю и ценю полезность класса System.WeakReference в .NET Framework, но мне интересно узнать подробности реализации.
Как реализована функция WeakReference в .NET? MSDN подробно обсуждает использование WeakReference, но имеет небольшие детали, которые я видел о том, как это работает под капотом.
Как CLR отслеживает ссылку и знает, чтобы исключить внутренний дескриптор при сборке Цели, не предотвращая GC? Требуется ли специальная обработка в самой CLR?
Моя основная проблема заключалась в том, будут ли последствия использования WeakReferences влиять на производительность (особенно если вы используете многие из них), которые отличаются от результатов использования стандартных ссылок на объекты.