2016-07-28 150 views
-1

我在.net編程中的託管和非託管資源之間感到困惑。我正在開發一個vb.net應用程序。我在微軟網站上讀到,如果我們使用託管資源垃圾收集器將會處理它,如果我們使用非託管資源,我們需要調用dispose。但是我沒有得到任何答案。.Net中的託管和非託管資源

  1. 如何將代碼使用的資源區分爲「託管」和「非託管」?我可以擁有屬於託管和非託管資源的資源列表嗎?
  2. 資源是在創建對象之前還是在創建對象之後使用/分配的?
  3. 如果非託管資源是否會在範圍被關閉後處理資源,或者應該在範圍關閉後處理它?

回答

1
  1. 如果類繼承IDisposable其管理或包含一些非託管
  2. 不知道你的意思,它通常在CTOR,所以用創建的對象,它不能是之前,你考慮CTOR如下? (o.c.除非另有說明)
  3. 最好的做法是繼承IDisposable任何地方你使用一些託管代碼,但與.net有一個良好的GC,除非你以某種方式鎖定非託管水庫。你應該沒問題。