Mega Code Archive

 
Categories / C# / Class Interface
 

Using statement with IDisposable interface

using System; public class MyValueReport {     int InstanceNumber;     public MyValueReport(int InstanceNumber) {         this.InstanceNumber = InstanceNumber;         Console.WriteLine(InstanceNumber);     } } public class MyValue : IDisposable {     int n;     public MyValue(int n) {         this.n = n;         MyValueReport MyReport = new MyValueReport(n);     }     public void Dispose() {         MyValueReport MyReport = new MyValueReport(this.n);         GC.SuppressFinalize(this);      }     ~MyValue() {         MyValueReport MyReport = new MyValueReport(this.n);     } } public class Test {     static void Main() {         MyValue d1 = new MyValue(1);         MyValue d2 = new MyValue(2);         MyValue d3 = new MyValue(3);         d1 = null;         using (d3) {             MyValue d4 = new MyValue(4);         }         d2.Dispose();     } }