Пример #1
0
        public static void NoUsingDueToAssignment()
        {
            PrintOnDispose printOnDispose = new PrintOnDispose("Wrong");

            try {
                printOnDispose = new PrintOnDispose("Correct");
            } finally {
                printOnDispose.Dispose();
            }
        }
Пример #2
0
        public static void NoUsingDueToAssignment2()
        {
            PrintOnDispose printOnDispose = new PrintOnDispose("NoUsing(): Wrong");

            try {
                printOnDispose = new PrintOnDispose("NoUsing(): Correct");
            } finally {
                IDisposable disposable = (object)printOnDispose as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
        }
Пример #3
0
        public static void NoUsingDueToByRefCall()
        {
            PrintOnDispose printOnDispose = new PrintOnDispose("NoUsingDueToByRefCall(): Wrong");

            try {
                Console.WriteLine("NoUsingDueToByRefCall");
                Clear(ref printOnDispose);
            } finally {
                IDisposable disposable = (object)printOnDispose as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
        }