在用户控件中处理对象?

时间:2015-05-08 17:54:34

标签: c# winforms

我有一个使用DataSet对象的usercontrol。我想实现IDisposable接口,但usercontrol的设计器类已经有以下方法:

    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

如何正确处理我的DataSet对象?

3 个答案:

答案 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区块时处理。

Using (MSDN)