コード例 #1
0
 private static void NormalMethod()
 {
     using (MyDisposable myDisposable = new MyDisposable())
     {
         Console.WriteLine("  In NormalMethod");
     }
     return;
 }
コード例 #2
0
 private static MyDisposable ReturningMethod()
 {
     using (MyDisposable myDisposable = new MyDisposable())
     {
         Console.WriteLine("  In ReturningMethod");
         return(myDisposable);
     }
 }
コード例 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting Main\n");

            Console.WriteLine("Before NormalMethod");
            NormalMethod();
            Console.WriteLine("After NormalMethod\n");

            Console.WriteLine("Before ReturningMethod");
            MyDisposable m = ReturningMethod();

            m.DoSomething();     // Here the object already has been disposed!
            Console.WriteLine("After ReturningMethod\n");
        }