DisposableBase クラス
破棄可能なオブジェクトの基底クラスです。
実装
継承されたメンバー
名前空間: ExapisSOP.Utils
アセンブリ: ExapisSOP.dll
構文
public abstract class DisposableBase : IDisposable, IAsyncDisposable
コンストラクタ 一覧
| 編集/提案 ソースを表示DisposableBase()
型'DisposableBase'の新しいインスタンスを生成します。
宣言
public DisposableBase()
プロパティ 一覧
| 編集/提案 ソースを表示DisposableObjects
破棄可能なオブジェクトを格納したリストを取得します。
宣言
protected IList<object> DisposableObjects { get; }
プロパティ値
型 | 説明 |
---|---|
System.Collections.Generic.IList<System.Object> |
IsDisposed
このオブジェクトが破棄されている場合はtrue、有効な場合はfalseを返します。
宣言
public bool IsDisposed { get; }
プロパティ値
型 | 説明 |
---|---|
System.Boolean |
メソッド 一覧
| 編集/提案 ソースを表示Delete(Object)
指定したオブジェクトを削除します。 System.IDisposableを継承しているクラスの場合、System.IDisposable.Dispose()を呼び出し、 それ以外のクラスはリフレクションを利用し強制的にデストラクタ(例:System.Object.Finalize)を強制的に実行します。
宣言
[Obsolete("予期せぬ不具合が発生する可能性がある為、この関数は呼び出さないでください。")]
public static void Delete(object obj)
引数
型 | 名前 | 説明 |
---|---|---|
System.Object | obj | 削除対象のオブジェクトです。 |
脚注
この関数を利用して削除したオブジェクトは利用しないでください。
例外
型 | 条件 |
---|---|
System.Exception | 処理が失敗しました。 |
Dispose()
現在のオブジェクトインスタンスと利用しているリソースを破棄します。
宣言
public void Dispose()
Dispose(Boolean)
現在のオブジェクトインスタンスと利用しているリソースを破棄します。 この関数内で例外を発生させてはいけません。
宣言
protected virtual void Dispose(bool disposing)
引数
型 | 名前 | 説明 |
---|---|---|
System.Boolean | disposing | マネージドオブジェクトとアンマネージオブジェクト両方を破棄する場合はtrue、 アンマネージオブジェクトのみを破棄する場合はfalseを設定します。 |
脚注
この関数を上書きする場合は、必ず基底関数を呼び出してください。 以下の様に実装します:
protected override void Dispose(disposing)
{
if (!this.IsDisposed) {
if (disposing) {
/* TODO: ここでマネージドオブジェクトを破棄 */
}
/* TODO: ここでアンマネージオブジェクトを破棄 */
base.Dispose(disposing);
}
}
DisposeAsync()
現在のオブジェクトインスタンスと利用しているリソースを非同期的に破棄します。
宣言
public ValueTask DisposeAsync()
戻り値
型 | 説明 |
---|---|
System.Threading.Tasks.ValueTask |
EnsureNotDisposed()
現在のインスタンスとDisposableObjectsが破棄されていない事を確認します。 実行速度を優先する場合はThrowOnObjectDisposed()を呼び出してください。
宣言
protected void EnsureNotDisposed()
脚注
論理値を返す公開されたIsDisposed
が実装されていない場合、判定する事はできません。
例外
型 | 条件 |
---|---|
System.ObjectDisposedException |
Finalize()
型'DisposableBase'の現在のインスタンスを破棄します。
宣言
protected void Finalize()
ThrowOnObjectDisposed()
現在のインスタンスが破棄されている場合に例外を発生させます。 堅牢性を優先する場合はEnsureNotDisposed()を呼び出してください。
宣言
protected void ThrowOnObjectDisposed()
例外
型 | 条件 |
---|---|
System.ObjectDisposedException |