J'ai une classe avec de nombreux membres statiques, dont certains gardent des références à des objets gérés et non gérés.
Par exemple, le constructeur statique est appelé dès que le Type est référencé, ce qui entraîne la création d'une file d'attente bloquante de Tasks dans ma classe. Cela se produit lorsque l'une des méthodes statiques est appelée, par exemple.
J'ai implémenté IDisposable, qui me donne des méthodes pour gérer l'élimination des objets d'instance que j'ai créés. Cependant, ces méthodes ne sont jamais appelées si le consommateur ne crée aucun objet d'instance de ma classe.
Comment et où dois-je placer le code pour éliminer les références maintenues par la partie statique de ma classe ? J'ai toujours pensé que l'élimination des ressources référencées statiques se produisait lorsque le dernier objet d'instance était libéré ; c'est la première fois que je crée une classe dans laquelle aucune instance ne peut être créée.