Wie und wann werden c # Statische Mitglieder entsorgt?

Ich habe eine Klasse mit umfangreichen statischen Elementen, von denen einige Verweise auf verwaltete und nicht verwaltete Objekte enthalten.

Beispielsweise wird der statische Konstruktor aufgerufen, sobald auf den Typ verwiesen wird, wodurch meine Klasse eine blockierende Warteschlange von Tasks hochfährt. Dies geschieht beispielsweise, wenn eine der statischen Methoden aufgerufen wird.

Ich habe IDisposable implementiert, mit dessen Hilfe ich alle von mir erstellten Instanzobjekte entsorgen kann. Diese Methoden werden jedoch nie aufgerufen, wenn der Consumer keine Instanzobjekte aus meiner Klasse erstellt.

Wie und wo setze ich Code ein, um Referenzen zu löschen, die vom statischen Teil meiner Klasse verwaltet werden? Ich dachte immer, dass die Entsorgung statisch referenzierter Ressourcen geschah, als das letzte Instanzobjekt freigegeben wurde. Dies ist das erste Mal, dass ich eine Klasse erstellt habe, in der möglicherweise keine Instanzen erstellt werden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage