最新の更新情報

2012年2月
« 1月    
 1234
567891011
12131415161718
19202122232425
26272829  

本ブログのURL

qrcode.png

雨雲の動き

お天気

 
 
吟遊詩人の戯言 内専用の記事検索...
 
 

IDisposable 実装のひな形


キーワード(クリックで関連記事が読めます) → , ,

関連記事



 
 

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

そのひな形ですわん

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

C#:
  1. public class ClassMainJob : IDisposable
  2. {
  3.     #region 変数
  4.     private bool m_Disposed = false;
  5.     #endregion
  6.  
  7.     //---------------------------------------------
  8.     //コンストラクタ
  9.     //
  10.     //---------------------------------------------
  11.     public ClassMainJob()
  12.     {
  13.     }
  14.  
  15.     //---------------------------------------------
  16.     //デストラクタ
  17.     //
  18.     //---------------------------------------------
  19.     ~ClassMainJob()     
  20.     {
  21.         Dispose(false);            //マネージ系リソースの解放無しで呼び出す
  22.     }
  23.  
  24.  
  25.     //---------------------------------------------
  26.     //リソースの解放
  27.     //
  28.     //---------------------------------------------
  29.     public void Dispose()
  30.     {
  31.         Dispose(true);            //マネージ系リソースの解放有りで呼び出す
  32.     }
  33.  
  34.     //---------------------------------------------
  35.     //リソースの解放(本体)
  36.     //
  37.     //---------------------------------------------
  38.     private void Dispose(bool disposing)
  39.     {
  40.         if(!m_Disposed)   //既に解放済みかチェック
  41.         {
  42.             //まだのとき
  43.             if(disposing)        //マネージ系のリソース解放
  44.             {
  45.                 //ここいらにマネージリソースの解放処理を
  46.             }
  47.          
  48.             //アンマネージ系のリソースの解放
  49.             //ここいらにアンマネージリソースの解放処理を
  50.         }
  51.  
  52.         m_Disposed = true;         //解放済みフラグを立てる
  53.     }
  54.  
  55.     //---------------------------------------------
  56.     //実処理を行う
  57.     //
  58.     //---------------------------------------------
  59.     public void JobWork()
  60.     {
  61.     }
  62. }



 
 
 
 

コメントを残す

  

  

  

You can use these HTML tags

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