Tengo una clase con miembros estáticos extensos, algunos de los cuales mantienen referencias a objetos administrados y no administrados.¿Cómo y cuándo están dispuestos los miembros estáticos C#?
Por ejemplo, el constructor estático se invoca tan pronto como se hace referencia al Tipo, lo que hace que mi clase active una Cola de Tareas. Esto sucede cuando uno de los métodos estáticos se llama, por ejemplo.
Implementé IDisposable, que me da los métodos para manejar la eliminación en cualquier objeto de instancia que creé. Sin embargo, estos métodos nunca se invocan si el consumidor no crea ningún objeto de instancia de mi clase.
¿Cómo y dónde pongo el código para eliminar las referencias mantenidas por la parte estática de mi clase? Siempre pensé que la eliminación de los recursos de referencia estática se producía cuando se liberaba el último objeto de instancia; esta es la primera vez que alguna vez he creado una clase donde nunca se pueden crear instancias.
elementos estáticos están disponibles para toda la ejecución de la aplicación. No crea elementos estáticos con la palabra clave NEW, por lo que no tiene varias instancias de nada, porque en realidad no instancia nada. Acerca de los objetos administrados, no se preocupe por ellos, el GC se encargará de ellos. Acerca de los recursos no administrados, intente utilizarlos en una clase no estática, o se guardarán hasta que cierre su aplicación. Los artículos estáticos no son compatibles con la eliminación. – alexandrudicu
Gracias. Parece que necesito reconsiderar mi diseño aquí. – Joe