2016-07-28 5 views
-1

Я запутался между управляемыми и неуправляемыми ресурсами в программировании .net. Я разрабатываю приложение vb.net. Я прочитал на веб-сайте Microsoft, что, если мы будем использовать Managed resources, сборщик мусора будет утилизировать его, и если мы будем использовать неуправляемые ресурсы, нам нужно вызвать dispose. Но я не получил ответа на следующие вопросы.Управляемые и неуправляемые ресурсы в .Net

  1. Как я могу отличить ресурсы, используемые кодом как «Управляемые» и «Неуправляемые»? Могу ли я иметь список ресурсов, принадлежащих управляемым и неуправляемым ресурсам?
  2. Независимо от того, используются ли ресурсы при распределении ресурсов до создания объектов или после создания объектов?
  3. В случае неуправляемых ресурсов, независимо от того, будут ли ресурсы удалены после того, как область будет закрыта, или я должен утилизировать ее даже после закрытия области?

ответ

1
  1. если класс наследует IDisposable его неуправляемое или содержит некоторые неуправляемый
  2. не уверен, что вы имеете в виду, его обычно в CTOR, так и с созданием объекта, его не может быть до того, считаете ли вы CTOR, как после? (o.c. если не указано иное)
  3. Лучшая практика будет наследовать IDisposable в любом месте, где вы используете какой-либо управляемый код, но с .net с хорошим GC, если вы каким-то образом не заблокируете неуправляемые res. вы должны быть в порядке.
Смежные вопросы