Entiendo y aprecio la utilidad de la clase System.WeakReference en .NET framework, pero tengo curiosidad por los detalles de implementación.Implementación de WeakReference en .NET
¿Cómo se implementa WeakReference en .NET? MSDN analiza el uso de WeakReference en detalle, pero tiene pocos detalles que he visto sobre cómo funciona esto bajo el capó.
¿Cómo rastrea el CLR la referencia y sabe anular el identificador interno cuando se recopila el objetivo, sin impedir el GC? ¿Requiere un manejo especial en el CLR?
Mi principal preocupación sería si existen implicaciones de rendimiento al usar WeakReferences (especialmente si se usan muchas de ellas) que difieren de las de usar referencias de objeto estándar.
Desde entonces he investigado un poco, y escribí en el blog mis hallazgos en detalle: http://reedcopsey.com/?p=50 –