Mega Code Archive

 
Categories / C# Tutorial / Class
 

Complex IDisposable pattern

using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Text; using System.Security.Cryptography; class MyClass : IDisposable {     private IntPtr myHandle = IntPtr.Zero;     ~MyClass()     {         Dispose(false);     }     public void Dispose()     {         Dispose(true);         GC.SuppressFinalize(this);     }     protected void Dispose(bool disposing)     {         IntPtr h = myHandle;         if (h != IntPtr.Zero)         {             h = IntPtr.Zero;         }     } } public class MainClass {     public static void Main()     {         using (MyClass mc = new MyClass())         {         }     } }