在我正在編寫的類中,我使用一個對象在我正在編寫的自定義類中設置其某些屬性。在構造函數中使用必須處理的對象
這是在構造函數中完成的,但類有一個Dispose()方法。
我從來沒有在一個Dispose()方法/實現IDisposable的構造函數中實際使用過一個對象。我應該用一個使用(...)聲明包裝它,還是應該實現一個析構函數/終結器?
我的想象力讓我問這個問題:這個類是第三方閉源API的一部分。我怎樣才能找出需要處理的東西?
感謝
在我正在編寫的類中,我使用一個對象在我正在編寫的自定義類中設置其某些屬性。在構造函數中使用必須處理的對象
這是在構造函數中完成的,但類有一個Dispose()方法。
我從來沒有在一個Dispose()方法/實現IDisposable的構造函數中實際使用過一個對象。我應該用一個使用(...)聲明包裝它,還是應該實現一個析構函數/終結器?
我的想象力讓我問這個問題:這個類是第三方閉源API的一部分。我怎樣才能找出需要處理的東西?
感謝
如果你的參考對象是本地的構造函數,然後只是把它包在using語句。
如果您對該對象的引用是一個類成員,那麼您的類也應該實現IDisposable,並使用它的Dispose()方法在該對象上調用Dispose()。
如果你不需要構造函數之外的對象,爲什麼不使用using語句? 如果有一個特殊的「毀滅」的代碼 - 使用是不夠的,你需要調用它的一些地方處置代碼...
只是爲了響應添加到您問題的另一部分:
我總是選擇在使用塊中包裝IDisposables,因爲我認爲它比顯式調用Dispose()方法更簡潔。