Esempio n. 1
0
 static void Main(string[] args) {
     using (MyResourceWrapper rw = new MyResourceWrapper()) {
         rw.Dispose();
     }
     Console.ReadLine();
     MyResourceWrapper rw2 = new MyResourceWrapper();
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Pattern *****");
            MyResourceWrapper rw = new MyResourceWrapper();
            rw.Dispose();

            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("**** Dispose / Destructor Combo Platter ****");
            MyResourceWrapper rw1 = new MyResourceWrapper();

            rw1.Dispose(); // If Dispose() was invoked, destructor will be suppressed
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Platter *****");
            // Call Dispose() manually. This will not call the finalizer.
            MyResourceWrapper rw = new MyResourceWrapper();

            rw.Dispose();
            // Don't call Dispose(). This will trigger the finalizer and cause a beep.
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Platter *****");

            // Call Dispose() manually. This will not call the finalizer.
            MyResourceWrapper rw = new MyResourceWrapper();

            rw.Dispose();

            // Dont call Dispose(). This will trigger the finalizer when the object gets garbage collected.
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
Esempio n. 6
0
        static void Main( string[] args )
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Platter *****");

            // Call Dispose() manually, this will not call the finalizer.
            MyResourceWrapper rw = new MyResourceWrapper();
            rw.Dispose();

            // Don't call Dispose(), this will trigger the finalizer
            // and cause a beep.
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            Debug.WriteLine("***** Dispose() / Destructor Combo Platter *****");

            // Вызов метода Dispose () вручную; метод финализации
            //в таком случае вызываться не будет.
            MyResourceWrapper rw = new MyResourceWrapper();

            rw.Dispose();

            // Пропуск вызова метода Dispose () ; в таком случае будет
            // вызываться метод финализации и выдаваться звуковой сигнал.
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Platter *****");

            // Call Dispose() manually, this will not call the destructor.
            // Comment out the Dispose() call to hear 2 beeps.
            MyResourceWrapper rw = new MyResourceWrapper();

            rw.Dispose();

            // Don't call Dispose(), this will trigger the destructor
            // and cause a beep.
            MyResourceWrapper rw2 = new MyResourceWrapper();
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Dispose() / Destructor Combo Platter *****");

            // вызвать метод Dispose() вручную. Это не приведет к вызову финализатора
            MyResourceWrapper rw = new MyResourceWrapper();

            rw.Dispose();

            // не вызывать метод Dispose(). Это приведет к вызову финализатора
            // и выдаче звукового сигнала
            MyResourceWrapper rw2 = new MyResourceWrapper();

            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("***** Finalizable / Disposable Type *****");
            Console.WriteLine("This program does nothing.");
            Console.WriteLine("See MyResourceWrapper.cs for code");
            Console.WriteLine("*****************************************");

            // Dispose automatically called.
            using (MyResourceWrapper rw = new MyResourceWrapper())
            {
            }

            // This is safe given the disposable pattern.
            MyResourceWrapper rw2 = new MyResourceWrapper();

            for (int i = 0; i < 10; i++)
            {
                rw2.Dispose();
            }

            Console.ReadLine();
        }