Esempio n. 1
0
        static void Main(string[] args)
        {
            SomeType instance = new SomeType();

            instance = null;
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(1000);
                GC.Collect();

                Console.WriteLine("\t\tmain {0} iteration", i);
            }
        }
Esempio n. 2
0
        static void Main()
        {
            Instance = new SomeType();

            Instance = null; // Освобождение объекта (потеря ссылки).
            GC.Collect();    // Отработает деструктор ~SomeType()

            // Delay.
            Console.ReadKey();

            Instance = null; // Освобождение объекта (потеря ссылки).
            GC.Collect();    // Отработает деструктор ~SomeType()

            // Delay.
            Console.ReadKey();

            // Отработает деструктор ~SomeType()
        }
Esempio n. 3
0
        static void Main()
        {
            SomeType instance = new SomeType(); // optimize +

            GC.Collect();                       // Отработает деструктор ~SomeType()

            // Delay.
            Console.ReadKey();

            GC.Collect();
            // Не отработает деструктор ~SomeType() так как
            // ссылка на объект держится в статическом поле и
            // объект считается доступным.

            // Delay.
            Console.ReadKey();

            // Отработает деструктор ~SomeType()
        }