Size: a a a

2020 September 12

rr

razumovsky r in CODE BLOG / C#
получается мы вызываем диспоуз
источник

rr

razumovsky r in CODE BLOG / C#
диспоуз дергает деструктор и обджект в ручную вынесен ?
источник

rr

razumovsky r in CODE BLOG / C#
а диспоуз без деструктора вообще юзлесс хуйня да ?
источник

S

SeanWoo in CODE BLOG / C#
Никита Петроченко
У тебя есть некий объект у которого явно реализованы и Dispose и Finalize (правильность указана на скрине)
1 вариант: пользователь хороший и в конце пользования вызывает Dispose()
В таком случае происходит очисттка всех ресурсов и в конце всего мы сообщаем GC о том, что за нами чистить не надо (вызывать Finalize)
2 вариант. Если разраб плохой и не вызывал Dispose(), то если GC сочтет нужным убить объект, то она увидит то, что у объекта есть переопределенный Finalize, добавит его в очередь финализации и только после СЛЕДУЮЩЕГО прохода вызовет Finalize

Вопрос, зачем Dispose если есть Finalize(). Ответ: для моментальной чистки ресурсов
1 так твой флаг и метаданные класса в памяти лежать останутся
источник

S

SeanWoo in CODE BLOG / C#
Если ты gc сообщаешь что чистить не надо
источник

S

SeanWoo in CODE BLOG / C#
Или как тут
источник

S

SeanWoo in CODE BLOG / C#
Оно потом очистит полностью я так понял
источник

НП

Никита Петроченко... in CODE BLOG / C#
SeanWoo
1 так твой флаг и метаданные класса в памяти лежать останутся
Флаг это часть объекта. А в Dispose чистятся твои ресурсы. Но не сам объект!
источник

rr

razumovsky r in CODE BLOG / C#
кароч если ут ебя нету метода дипоуз то у тебя файналайз автоматом запустится ?
источник

S

SeanWoo in CODE BLOG / C#
Никита Петроченко
Флаг это часть объекта. А в Dispose чистятся твои ресурсы. Но не сам объект!
Ну так я вопрос и задавал про сам объект
источник

НП

Никита Петроченко... in CODE BLOG / C#
razumovsky r
кароч если ут ебя нету метода дипоуз то у тебя файналайз автоматом запустится ?
Фух блин, ну прочти ссылки что я кинул
источник

НП

Никита Петроченко... in CODE BLOG / C#
SeanWoo
Ну так я вопрос и задавал про сам объект
Сам объект чистится только GC
источник

S

SeanWoo in CODE BLOG / C#
Никита Петроченко
Сам объект чистится только GC
Ну я так и понял, просто ты говорил что SuppressFinalize говорит GC что чистить не надо
источник

S

SeanWoo in CODE BLOG / C#
И меня подтолкнуло на мысль что оно вообще не очистится
источник

S

SeanWoo in CODE BLOG / C#
Толтао то что прогер укажет
источник

НП

Никита Петроченко... in CODE BLOG / C#
SeanWoo
Ну я так и понял, просто ты говорил что SuppressFinalize говорит GC что чистить не надо
Не правильно выразился. Не читстить, а вызываеть у объекта Finalize
источник

S

SeanWoo in CODE BLOG / C#
Никита Петроченко
Не правильно выразился. Не читстить, а вызываеть у объекта Finalize
Вот и вся суть диалога туи
источник

S

SeanWoo in CODE BLOG / C#
Все не правильно выразились и пошли недопонимания
источник

НП

Никита Петроченко... in CODE BLOG / C#
Вот теперь понятна изначальная суть доеба?)
источник

S

SeanWoo in CODE BLOG / C#
Никита Петроченко
Вот теперь понятна изначальная суть доеба?)
Да
источник