Exemple #1
0
        /// <summary>
        /// 4. Пример работы с IDisposable.
        /// </summary>
        static void Question4()
        {
            Console.WriteLine("\nПросто вызовем Dispose\n");
            var test = new DisposeTectingClass("test");

            test.Dispose();

            Console.WriteLine("\nВызовем Dispose через using\n");
            using (var test2 = new DisposeTectingClass("test2"))
            {
                test2.Show();
            }

            Console.WriteLine("\nВызовем Dispose в try/catch\n");
            var test3 = new DisposeTectingClass("test3");

            try
            {
                test3.Show();
            }
            catch
            {
                Console.WriteLine("ОШИБКА????");
            }
            finally
            {
                test3.Dispose();
            }
            GC.Collect();
        }
Exemple #2
0
        /// <summary>
        /// 5. Пример работы с инструкцией using
        /// </summary>
        static void Question5()
        {
            var someText = "строка1 \nстрока2 \nстрока3";

            using var reader = new StringReader(someText);
            var item = reader.ReadLine();

            while (!string.IsNullOrEmpty(item))
            {
                Console.WriteLine(item);
                item = reader.ReadLine();
            }
            // еще раз using - тут видно что Dispose вызывается
            using var test = new DisposeTectingClass("Чтобы был");

            GC.Collect();
        }