using statement with IDisposable interface : IDisposable « Class Interface « C# / C Sharp






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();

    }
}

 








Related examples in the same category

1.The IDisposable Interface
2.Derived Disposable Classes
3.Protecting Against Double Disposal
4.The constructor initializes the internal object. The Dispose method closes the file resource. The destructor delegates to the Dispose method.
5.The Dispose Pattern