私は、大規模な静的メンバーを持つクラスを持っています。その一部は、マネージド オブジェクトとアンマネージド オブジェクトへの参照を保持しています。
たとえば、静的コンストラクターは、Type が参照されるとすぐに呼び出され、これにより、私のクラスは Task のブロッキング キューを起動します。これは、たとえば、静的メソッドの 1 つが呼び出されたときに発生します。
IDisposable を実装しました。これにより、作成したインスタンス オブジェクトの破棄を処理するメソッドが提供されます。ただし、消費者がクラスからインスタンス オブジェクトを作成しない場合、これらのメソッドは呼び出されません。
クラスの静的部分によって保持されている参照を破棄するコードをどこにどのように配置すればよいですか? 私は常に、静的参照リソースの破棄は、最後のインスタンス オブジェクトが解放されたときに発生すると考えていました。インスタンスを作成できないクラスを作成したのはこれが初めてです。