最新の更新情報

 
このブログ「吟遊詩人の戯言」 の記事検索...

IDisposable 実装のひな形

関連記事

仕事柄,アンマネージリソースをコチョコチョする機会が多いので
IDisposableインターフェースをちゃんと継承させて,実装させるよう,コーディングするよう心がけるようになり

そのひな形ですわん

結局あちこち探し回ってしまったので,ここに記載しておきますです

public class ClassMainJob : IDisposable
{
    #region 変数
    private bool m_Disposed = false;
    #endregion

    //---------------------------------------------
    //コンストラクタ
    //
    //---------------------------------------------
    public ClassMainJob()
    {
    }

    //---------------------------------------------
    //デストラクタ
    //
    //---------------------------------------------
    ~ClassMainJob()      
    {
        Dispose(false);            //マネージ系リソースの解放無しで呼び出す
    }


    //---------------------------------------------
    //リソースの解放
    //
    //---------------------------------------------
    public void Dispose()
    {
        Dispose(true);            //マネージ系リソースの解放有りで呼び出す
    }

    //---------------------------------------------
    //リソースの解放(本体)
    //
    //---------------------------------------------
    private void Dispose(bool disposing)
    {
        if(!m_Disposed)   //既に解放済みかチェック
        {
            //まだのとき
            if(disposing)        //マネージ系のリソース解放
            {
                //ここいらにマネージリソースの解放処理を
            }
         
            //アンマネージ系のリソースの解放
            //ここいらにアンマネージリソースの解放処理を
        }

        m_Disposed = true;         //解放済みフラグを立てる
    }

    //---------------------------------------------
    //実処理を行う
    //
    //---------------------------------------------
    public void JobWork()
    {
    }
}


 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">