Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
21.05.2015
Размер:
6.29 Кб
Скачать

Средства языка С# позволяют определить метод, который должен вызываться непосредственно перед тем, как объект будет окончательно разрушен системой сбора мусора. Этот метод называется деструктором, и его можно использовать для обеспечения гарантии "чистоты" ликвидации объекта. Например, вы могли бы использовать деструктор для гарантированного закрытия файла, открытого некоторым объектом.

Формат записи деструктора такой:

~имя_класса() {

// код деструктора

}

Очевидно, что элемент имя_класса здесь означает имя класса. Таким образом, деструктор объявляется подобно конструктору за исключением того, что его имени предшествует символ "тильда" (~).

Чтобы добавить деструктор в класс, достаточно включить его как член. Он вызывается в момент, предшествующий процессу утилизации объекта. В теле деструктора вы указываете действия, которые, по вашему мнению, должны быть выполнены перед разрушением объекта.

using System;

class Destruct {

publicint x;

public Destruct(inti) {

x = i;

}

// Вызывается при утилизации объекта.

~Destruct() {

Console.WriteLine("Деструктуризация " + x) ;

}

// Метод создает объект, который немедленно

// разрушается.

public void generator(inti) {

Destruct o = new Destruct(i);

} }

classDestructDemo {

public static void Main() {

int count;

Destruct ob = new Destruct(0);

for(count=l; count < 100000; count++)

ob.generator(count);

Console.WriteLine("Готово!");

}}