Класс CriticalFinalizerObject
добавляет некоторую надежность процессу удаления / завершения. Как предотвращение Thread.Abort()
и др.
так зачем мне наследовать от CriticalFinalizerObject?
Основная причина использования Safehandle : CriticalFinalizerObject
заключается в том, что он освобождает вас от работы с шаблоном неуправляемых ресурсов. SafeHandle превращает неуправляемый ресурс в управляемый ресурс, см. Джо Даффи .
Я не думаю, что как программисту приложения вам когда-либо придется извлекать класс из CriticalFinalizerObject, но когда вам приходится иметь дело с «дескриптором», вы должны использовать SafeHandle
.