Использование метода Dispose () с SQL-Server Compact Edition 3.5 - PullRequest
1 голос
/ 10 марта 2011

Я использую Microsoft SQL-Server Compact Edition 3.5 в своем приложении C #. SqlCeConnection будет инкапсулирован собственным классом соединения:

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;
}

Итак, мой вопрос: Нужно ли вызывать метод Dispose () экземпляра SqlCeConnection или я могу реализовать интерфейс IDisposable в моем классе?

Stefan

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

Учитывая, что вы используете одноразовый объект, вы должны убедиться, что вызываете его метод Dispose, когда ресурс больше не нужен. У вас есть несколько вариантов: вы можете вызвать Dispose в методе Close вашего собственного класса или, что еще лучше, вы можете реализовать IDisposable.

Реализация IDisposable настоятельно рекомендуется, когда ваш класс хранит ресурсы, которые нужно утилизировать. Это позволит пользователям вашего класса самостоятельно использовать шаблон using или вызвать Dispose, гарантируя, что ресурсы всегда будут освобождены как можно скорее.

Взгляните на Правильно установите ID *

0 голосов
/ 10 марта 2011

Просто используйте оператор using, поскольку он автоматически вызывает Dispose () для указанного объекта.

...