powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Для чего-то все же он нужен - деструктор?...
2 сообщений из 2, страница 1 из 1
Для чего-то все же он нужен - деструктор?...
    #32490966
Алексей Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто объяснит для чего деструктор в C#.
Вызывается не в момент удаления объекта.
Может вообще не вызываться.
Не понимю его назначение...
...
Рейтинг: 0 / 0
Для чего-то все же он нужен - деструктор?...
    #32491001
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рихтер утверждает, что деструктор сделан потому, что MS-цы заметили, что программеры неправильно кодируют метод Finalize, который должен освобождать неуправляемые ресурсы. они забывают заключать освобождение ресурсов в try..finally. Поэтому код из деструктора переносится автоматом в сгенерированный метод Finalize в секцию try.
т.е. IL код нижеприведенного аналогичен:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class Test {
...
  protected override void Finalyze() {
    try {
      CloseHandle(handle);
    }
    finally {
      base.Finalize;
   }
  }
}


и

Код: plaintext
1.
2.
3.
4.
5.
public class Test {
...
  ~Test() {
      CloseHandle(handle);
  }
}


Вроде как только для этого.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Для чего-то все же он нужен - деструктор?...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]