Dado un objeto, ¿hay alguna forma de recibir una notificación de cuándo se recoge ese objeto?.NET: ¿Alguna manera de saber cuándo se elimina un objeto/se recoge basura?
Estoy jugando con los métodos de extensión C# se comportan un poco más como mixins (específicamente al agregar el registro). Entonces, básicamente, cada objeto obtiene un nuevo método Logger() que devuelve un ILog que se crea y almacena en caché dependiendo del objeto que es el objetivo del método de extensión.
Funciona bastante bien, la única preocupación es, obviamente, después de que un objeto desaparece su registrador puede permanecer por bastante tiempo. Por supuesto, podría configurar algún mecanismo periódico para barrer la memoria caché del logger y borrarla, pero preferiría configurar algo de notificación de Recolección de basura para saber cuándo el sistema ya no usa mis objetos.
¿Alguien sabe de una manera de hacer esto?
+1, maldición, robó mi respuesta jaja – heisenberg