Mega Code Archive

 
Categories / C# / Class Interface
 

The Dispose Pattern

using System; public class MyClass {     private string name;     public MyClass(string name) { this.name = name; }     override public string ToString() { return name; }     ~MyClass() { Console.WriteLine("~MyClass()"); }     public void Dispose() {         Console.WriteLine("Dispose()");     } } public class GarbageDisposalApp {     public static void Main(string[] args) {         DoSomething();         Console.WriteLine("end of Main");     }     public static void DoSomething() {         MyClass t = new MyClass("Foo");         Console.WriteLine(t);         t.Dispose();         t = null;         GC.Collect();         GC.WaitForPendingFinalizers();     } }