ResourceManager.ReleaseAllResources メソッド

定義

リソース マネージャーに、すべての Close() オブジェクトの ResourceSet メソッドを呼び出し、すべてのリソースを解放するように指示します。

public:
 virtual void ReleaseAllResources();
public virtual void ReleaseAllResources ();
abstract member ReleaseAllResources : unit -> unit
override this.ReleaseAllResources : unit -> unit
Public Overridable Sub ReleaseAllResources ()

注釈

このメソッドは、実行中のアプリのワーキング セットを縮小します。 リソース マネージャーはリソースを検索して読み込み直す必要があるため、この ResourceManager オブジェクトに対する今後のリソース参照は、最初の参照と同じくらいコストがかかります。 これは、新しい ResourceManager オブジェクトを作成することが適切な動作である、いくつかの複雑なスレッドシナリオで役立ちます。

注意

.NET Framework バージョン 2.0 以降では、ReleaseAllResourcesメソッドは 、およびGetStringGetStream操作に関してGetObjectスレッド セーフではありません。 この変更の利点は、リソースにアクセスする複数のスレッドのパフォーマンス向上です。 ただし、あるスレッドでメソッドを ReleaseAllResources 呼び出しながら、別のスレッドでリソースを同時に取得すると、get 操作で例外が ObjectDisposedException スローされる可能性があります。

また、現在のリソース マネージャーによって作成されたリソースのマネージド インスタンスを、リソース マネージャーが完全にスコープ外に移動してガベージ コレクションされるのを待たずに、決定論的に解放する必要がある場合にも、このメソッドを使用できます。

注意

このメソッドを呼び出しても、サテライト アセンブリはアンロードされません。 サテライト アセンブリをアンロードするには、このメソッドを使用します Unload

適用対象