ymm4-plugin-document
読み取り中…
検索中…
一致する文字列を見つけられません
YukkuriMovieMaker.Commons.DisposeCollector クラス

IDisposable オブジェクト、アンマネージドメモリ、COMオブジェクトなど、 様々な種類のリソースを収集し、一括で解放するためのヘルパークラスです。 [詳解]

YukkuriMovieMaker.Commons.DisposeCollector の継承関係図

公開メンバ関数

void DisposeAndClear ()
 収集したすべてのリソースを解放し、内部リストをクリアします。
void Collect (global::System.IDisposable disposable)
 IDisposable オブジェクトを収集リストに追加します。
void CollectHGlobal (global::System.IntPtr ptr)
 アンマネージドメモリのポインタを収集リストに追加します。
void CollectComObject (object comObject)
 COMオブジェクトを収集リストに追加します。
void Remove (global::System.IDisposable disposable)
 指定した IDisposable オブジェクトを収集リストから削除します。
void RemoveHGlobal (global::System.IntPtr ptr)
 指定したアンマネージドメモリのポインタを収集リストから削除します。
void RemoveComObject (object comObject)
 指定したCOMオブジェクトを収集リストから削除します。
void RemoveAndDispose< T > ([global::System.Runtime.CompilerServices.Nullable(2)] ref T disposable)
 指定した IDisposable オブジェクトを解放し、収集リストから削除します。
void RemoveAndDisposeHGlobal (ref global::System.IntPtr ptr)
 指定したアンマネージドメモリを解放し、収集リストから削除します。
void RemoveAndDisposeComObject (ref object comObject)
 指定したCOMオブジェクトを解放し、収集リストから削除します。
void Dispose ()
 このオブジェクトによって使用されているすべてのリソースを解放します。
 DisposeCollector ()
 DisposeCollectorの新しいインスタンスを初期化します。

限定公開メンバ関数

virtual void Dispose (bool disposing)
 このオブジェクトによって使用されているアンマネージドリソースを解放し、オプションでマネージドリソースも解放します。

詳解

IDisposable オブジェクト、アンマネージドメモリ、COMオブジェクトなど、 様々な種類のリソースを収集し、一括で解放するためのヘルパークラスです。

このクラスは IDisposable を実装しており、自身が破棄される際に収集したすべてのリソースを解放します。 これにより、リソースの解放漏れを防ぎ、コードの信頼性を向上させることができます。

using (var collector = new DisposeCollector())
{
var stream = new FileStream("test.txt", FileMode.Create);
collector.Collect(stream);
IntPtr memory = Marshal.AllocHGlobal(1024);
collector.CollectHGlobal(memory);
// collectorがDisposeされるタイミングで、streamとmemoryが解放される
}
DisposeCollector()
DisposeCollectorの新しいインスタンスを初期化します。
Definition DisposeCollector.cs:270

構築子と解体子

◆ DisposeCollector()

YukkuriMovieMaker.Commons.DisposeCollector.DisposeCollector ( )

DisposeCollectorの新しいインスタンスを初期化します。

メソッド詳解

◆ Collect()

void YukkuriMovieMaker.Commons.DisposeCollector.Collect ( global.System.IDisposable disposable)

IDisposable オブジェクトを収集リストに追加します。

引数
disposable収集する IDisposable オブジェクト。

◆ CollectComObject()

void YukkuriMovieMaker.Commons.DisposeCollector.CollectComObject ( object comObject)

COMオブジェクトを収集リストに追加します。

引数
comObject収集するCOMオブジェクト。
例外
ArgumentExceptioncomObjectがCOMオブジェクトでない場合にスローされます。

収集されたCOMオブジェクトは、Dispose時に Marshal.ReleaseComObject で解放されます。

◆ CollectHGlobal()

void YukkuriMovieMaker.Commons.DisposeCollector.CollectHGlobal ( global.System.IntPtr ptr)

アンマネージドメモリのポインタを収集リストに追加します。

引数
ptr収集するアンマネージドメモリのポインタ。

収集されたポインタは、Dispose時に Marshal.FreeHGlobal で解放されます。

◆ Dispose() [1/2]

void YukkuriMovieMaker.Commons.DisposeCollector.Dispose ( )

このオブジェクトによって使用されているすべてのリソースを解放します。

◆ Dispose() [2/2]

virtual void YukkuriMovieMaker.Commons.DisposeCollector.Dispose ( bool disposing)
protectedvirtual

このオブジェクトによって使用されているアンマネージドリソースを解放し、オプションでマネージドリソースも解放します。

引数
disposingマネージドリソースとアンマネージドリソースの両方を解放する場合は true。アンマネージドリソースだけを解放する場合は false。

◆ DisposeAndClear()

void YukkuriMovieMaker.Commons.DisposeCollector.DisposeAndClear ( )

収集したすべてのリソースを解放し、内部リストをクリアします。

◆ Remove()

void YukkuriMovieMaker.Commons.DisposeCollector.Remove ( global.System.IDisposable disposable)

指定した IDisposable オブジェクトを収集リストから削除します。

引数
disposable削除する IDisposable オブジェクト。

このメソッドはオブジェクトを解放しません。単にリストから削除するだけです。

◆ RemoveAndDispose< T >()

void YukkuriMovieMaker.Commons.DisposeCollector.RemoveAndDispose< T > ( [global::System::Runtime::CompilerServices::Nullable(2)] ref T disposable)

指定した IDisposable オブジェクトを解放し、収集リストから削除します。

テンプレート引数
TIDisposable を実装するクラス。
引数
disposable解放および削除するオブジェクト。処理後、この参照は null になります。
型制約
T :class 
T :global 
T :System.IDisposable 

◆ RemoveAndDisposeComObject()

void YukkuriMovieMaker.Commons.DisposeCollector.RemoveAndDisposeComObject ( ref object comObject)

指定したCOMオブジェクトを解放し、収集リストから削除します。

引数
comObject解放および削除するCOMオブジェクト。処理後、この参照は null になります。
例外
ArgumentExceptioncomObjectがCOMオブジェクトでない場合にスローされます。

◆ RemoveAndDisposeHGlobal()

void YukkuriMovieMaker.Commons.DisposeCollector.RemoveAndDisposeHGlobal ( ref global.System.IntPtr ptr)

指定したアンマネージドメモリを解放し、収集リストから削除します。

引数
ptr解放および削除するアンマネージドメモリのポインタ。処理後、このポインタは IntPtr.Zero になります。

◆ RemoveComObject()

void YukkuriMovieMaker.Commons.DisposeCollector.RemoveComObject ( object comObject)

指定したCOMオブジェクトを収集リストから削除します。

引数
comObject削除するCOMオブジェクト。
例外
ArgumentExceptioncomObjectがCOMオブジェクトでない場合にスローされます。

このメソッドはCOMオブジェクトを解放しません。単にリストから削除するだけです。

◆ RemoveHGlobal()

void YukkuriMovieMaker.Commons.DisposeCollector.RemoveHGlobal ( global.System.IntPtr ptr)

指定したアンマネージドメモリのポインタを収集リストから削除します。

引数
ptr削除するアンマネージドメモリのポインタ。

このメソッドはメモリを解放しません。単にリストから削除するだけです。


このクラス詳解は次のファイルから抽出されました: