Расскажите что такое CriticalFinalizerObject, только попроще

Ответы (1 шт):

Автор решения: CrazyElf

Смотрим по вашей ссылке:

Классы, производные от CriticalFinalizerObject класса, неявно обрабатываются как область ограниченного выполнения (CER).

Дальше смотрим, что такое CER:

Область ограниченного выполнения (CER) является одной из составляющих механизма создания надежного управляемого кода. В этой области общеязыковая среда выполнения (CLR) не может выдавать специализированные исключения, препятствующие полному выполнению заключенного в эту область кода. В этой области не может выполняться пользовательский код, в результате которого могут возникать специализированные исключения.

В общем, насколько я понял, наследование класса от CriticalFinalizerObject гарантирует вам, что код такого класса будет исполняться в этой самой CER и ничто не помешает в этом случае сработать блоку finally. В общем случае в .NET может произойти много всякого разного, что не даст сработать финализатору класса. А этот механизм даёт гарантию.

→ Ссылка