/// <summary> /// IDisposable を直接継承しているクラス用の Disposer コンストラクタ /// </summary> /// <param name="obj">IDisposable を直接継承しているクラスのオブジェクト</param> /// <param name="releaseManaged">obj のマネージドリソースを解放するメソッド</param> /// <param name="releaseUnmanaged">obj Noアンマネージドリソースを解放するメソッド</param> public Disposer( object obj, ReleaseManagedOrUnmanagedDelegate releaseManaged, ReleaseManagedOrUnmanagedDelegate releaseUnmanaged ) : this(obj, null, releaseManaged, releaseUnmanaged) { }
/// <summary> /// IDisposable を継承しているクラスの派生クラス用の Disposer コンストラクタ /// </summary> /// <param name="obj">IDisposable を継承しているクラスの派生クラスのオブジェクト</param> /// <param name="disposeBase">obj のベースクラスの Dispose を実行するメソッド</param> /// <param name="releaseManaged">obj のマネージドリソースを解放するメソッド</param> /// <param name="releaseUnmanaged">obj のアンマネージドリソースを解放するメソッド</param> public Disposer( object obj, DisposeBaseDelegate disposeBase, ReleaseManagedOrUnmanagedDelegate releaseManaged, ReleaseManagedOrUnmanagedDelegate releaseUnmanaged ) { if (obj == null) { throw new System.ApplicationException(); } disposeObject = obj; DisposeBase = disposeBase; ReleaseManaged = releaseManaged; ReleaseUnmanaged = releaseUnmanaged; disposed = false; }