2016-07-28 112 views
-1

我在.net编程中的托管和非托管资源之间感到困惑。我正在开发一个vb.net应用程序。我在微软网站上读到,如果我们使用托管资源垃圾收集器将会处理它,如果我们使用非托管资源,我们需要调用dispose。但是我没有得到任何答案。.Net中的托管和非托管资源

  1. 如何将代码使用的资源区分为“托管”和“非托管”?我可以拥有属于托管和非托管资源的资源列表吗?
  2. 资源是在创建对象之前还是在创建对象之后使用/分配的?
  3. 如果非托管资源是否会在范围被关闭后处理资源,或者应该在范围关闭后处理它?

回答

1
  1. 如果类继承IDisposable其管理或包含一些非托管
  2. 不知道你的意思,它通常在CTOR,所以用创建的对象,它不能是之前,你考虑CTOR如下? (o.c.除非另有说明)
  3. 最好的做法是继承IDisposable任何地方你使用一些托管代码,但与.net有一个良好的GC,除非你以某种方式锁定非托管水库。你应该没问题。