Я читал о шаблоне IDisposable в этой статье и хочу чтобы реализовать его в моем приложении Windows Form. Как мы знаем, в классе windows form .Designer.cs уже есть метод Dispose.
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
а в классе .cs я использую типизированный набор данных для чтения и сохранения данных.
public partial class frmCustomerList
{
private MyTypedDataSet ds = new MyTypedDataSet();
...
}
Итак, как реализовать IDisposable
для удаления MyTypedDataSet? Если я реализую IDisposable
в frmCustomerList и реализую его интерфейс
public partial class frmCustomerList : IDisposable
{
private MyTypedDataSet ds = new MyTypedDataSet();
void Dispose()
{
ds.Dispose();
}
}
как насчет метода Dispose(bool disposing)
в .Designer.cs?
MyTypedDataSet
? - person Ben Aaronson   schedule 16.05.2014IDisposable
в форме. Если у вас нет неуправляемой памяти, избавляться от нее не нужно. - person Ben N   schedule 16.05.2014IDisposable
в форме? Конечно, вы могли бы просто отреагировать на событиеFormClosed
, чтобы произвести уборку? - person Enigmativity   schedule 16.05.2014FormClosed
(илиFormClosing
) было бы подходящим способом. Я бы не рекомендовал менять код конструктора, чтобыIDisposable
заработал. - person Enigmativity   schedule 16.05.2014