簡單描述C#垃圾回收
作者:佚名
這里介紹C#垃圾回收是.NET運行庫的一部分。垃圾回收器管理所有的托管對象,所有需要托管數據的.NET語言(包括 C#)都受運行庫的垃圾回收器的制約。
這里涉及到C#垃圾回收的問題:
C#垃圾回收是.NET運行庫的一部分。垃圾回收器管理所有的托管對象,所有需要托管數據的.NET語言(包括 C#)都受運行庫的垃圾回收器的制約。C#垃圾回收器可以確定運行垃圾回收的***時間,自動進行C#垃圾回收。然而垃圾回收的一個產物是:C# 對象沒有確定性毀壞。所以會出現對象child已被銷毀,但又不為null,訪問時產生ObjectDisposedException異常。
方法一:
修改子窗體的構造函數
- publicChildForm(){
- //.........
- this.Disposed+=newSystem.EventHandler(Form_Disposed)
- }
- //然后事件Form_Disposed的處理函數
- privatevoidForm_Disposed(objectsender,EventArgse)
- {
- Child=null;
- }
方法二:
重寫ChildForm的OnClosed方法
- ProtectedvoidOnClosed(EventArgse){
- base.OnClosed(e);
- child=null;
- }
當然可能有其他的方法,各位看客有興趣的話補充一下。另外有敘述不當的地方,請多多指教,在下感激不盡。
【編輯推薦】
責任編輯:佚名
來源:
MSDN社區