在SQL-Server Compact Edition 3.5中使用Dispose()方法

时间:2011-03-10 00:14:07

标签: c# .net sql-server-ce

我在C#应用程序中使用Microsoft的SQL-Server Compact Edition 3.5。 SqlCeConnection将由自己的Connection类封装:

using System;
using System.Data.SqlServerCe;

class Connection
{
    public Connection()
    {
        m_connection = new SqlCeConnection(connectionString);
    }

    public void Open()
    {
        m_connection.Open();
    }

    public void Close()
    {
        m_connection.Close();
    }

    private SqlCeConnection m_connection;
}

所以我的问题是:我是否必须调用SqlCeConnection实例的Dispose()方法,或者可以在我的类中实现IDisposable接口?

的Stefan

2 个答案:

答案 0 :(得分:3)

鉴于您使用的是一次性对象,您必须确保在不再需要资源时调用其Dispose方法。您有多种选择:您可以在自己班级的Dispose方法中拨打Close,或者更好地实施IDisposable

强制建议在您的类存储需要处理的资源时实施IDisposable。这样,您的班级用户就可以使用using模式或自己调用Dispose,确保资源始终尽快释放。

查看Implement IDisposable correctly

答案 1 :(得分:0)

只需使用using语句,因为它会自动调用指定对象上的Dispose()。