我有下面的類:WinForms和處置自定義控件
public class NewListBox : ListBox
{
public NewListBox()
{
}
private ImageList _myImageList;
public ImageList ImageList
{
get { return _myImageList; }
set { _myImageList = value; }
}
}
我很感興趣,是否這個對象的處置將觸發處置對象的字段,如將ImageList的,或者我應該實現(重寫)Dispose方法並自己完成這項工作?
是否有一致的模式,其WinForms控件採取了IDisposable性質的所有權,哪些沒有?我的理解是,通過類似'Image'屬性(控件通常不擁有的東西)的代碼,將控件的「Image」屬性設置爲該控件之外無需用途的圖片的代碼也應該附加到該控件的Disposed事件,並在控件處於Dispose時處理Dispose,但並非所有屬性都以這種方式工作。 'Font'屬性看起來很奇怪...... – supercat
...因爲我們將一個控件的Font屬性設置爲一個已經處理好的字體,並且控件不會介意。我不知道這是一個好還是壞的想法,但它似乎工作。 – supercat