Разпорежда ли се финализирането на обаждането?

Съдържание:

Разпорежда ли се финализирането на обаждането?
Разпорежда ли се финализирането на обаждането?

Видео: Разпорежда ли се финализирането на обаждането?

Видео: Разпорежда ли се финализирането на обаждането?
Видео: Aprende Español con Historias - B1- 2/2 - (6) 2024, Ноември
Anonim

Ако притежавате собствени ресурси, вие имплементирате както Dispose, така и Finalize и двете извикват общ метод, който освобождава естествените ресурси. Тези идиоми обикновено се комбинират чрез частен метод Dispose(bool disposing), който Dispose извиква с true и Finalize извиквания с false.

Кога да използвате finalize срещу Dispose?

Метод dispose() се използва за освобождаване на неуправлявани ресурси при всяко извикване. Метод finalize() се използва за освобождаване на неуправлявани ресурси, преди обектът да бъде унищожен. Методът dispose() трябва да се прилага винаги, когато има метод close().

Каква е разликата между методите Dispose и Finalize?

Основната разлика между dispose и finalize е , че методът dispose трябва да бъде извикан изрично от потребителя, докато методът finalize се извиква от събирача на боклук, точно преди обектът е унищожен.

Използването на повикване Dispose?

Изразът using гарантира, че Dispose се извиква дори ако възникне изключение, докато извиквате методи на обекта. Можете да постигнете същия резултат, като поставите обекта в блок try и след това извикате Dispose в блок finally; всъщност това е как операторът using се превежда от компилатора.

Трябва ли да се обадя на Dispose C?

4 отговора. Основно правило: ако клас имплементира IDisposable, винаги трябва да извикате метода Dispose веднага след като приключите с използването на този ресурс Още по-добре го увийте в оператор using, за да сте сигурни, че методът Dispose ще се извиква, дори ако бъде хвърлено изключение: с помощта на (var reader=conn.

Препоръчано: