Когда следует использовать GC.SuppressFinalize()?
SupressFinalize
сообщает системе, что любая garbage-collection работа, которая должна быть visual-c# выполнена в финализаторе, уже .net-framework выполнена, поэтому финализатор .cs-file не нужно вызывать. Из документов visual-c# .NET:
Объекты, реализующие suppressfinalize IDisposable интерфейс может dot-net вызвать этот метод из метод dotnet IDisposable.Dispose для запретить .net сборщику мусора вызов Object.Finalize csharp на объект, который в этом idisposable не нуждается.
В общем, почти .net-framework любой метод Dispose()
должен иметь csharp возможность вызывать GC.SupressFinalize()
, потому dot-net что он должен очистить все, что garbage-collector было бы очищено в финализаторе.
SupressFinalize
— это .cs-file то, что обеспечивает оптимизацию, позволяющую visual-c# системе не ставить объект .cs-file в очередь в поток финализатора. Правильно idisposable написанный Dispose()
/finalizer должен dot-net правильно работать с вызовом idisposable GC.SupressFinalize()
или без него.
c#
.net
garbage-collection
idisposable
suppressfinalize
Когда следует использовать GC.SuppressFinalize()?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.