我有一个使用DataSet对象的usercontrol。我想实现IDisposable接口,但usercontrol的设计器类已经有以下方法:
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
如何正确处理我的DataSet对象?
答案 0 :(得分:2)
一旦控件处理完毕,您就可以调用它。只需订阅控件的Disposed
事件,并将自己的类放在里面。
答案 1 :(得分:2)
覆盖Dispose
方法不属于Component Designer generated code
所以你可以修改它
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
components.Dispose();
System.Diagnostics.Debug.WriteLine("Dispose DataSet Here");
}
base.Dispose(disposing);
}
答案 2 :(得分:1)
安全处理数据集对象的最简单方法是将其放在using
子句中:
using (DataSet ds = new DataSet())
{
// Put code that adds stuff to DataSet here.
// ... The DataSet will be cleaned up outside the block.
}
这样,您不必手动处理DataSet对象。它将在离开using
区块时处理。