Как правильно возвращать и утилизировать представление данных набора данных - видя странные результаты - PullRequest
1 голос
/ 01 августа 2011

Я пытаюсь понять, как правильно вернуть данные.Я заметил, что если я свяжусь с результирующим представлением данных, использованным ниже, я не получу никаких результатов.

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        using (DataView documentsByType = new DataView(documents.Tables[0], String.Format("ClassName = '{0}'", classType), String.Empty, DataViewRowState.CurrentRows))
        {
            return documentsByType;
        }
    }
}

Однако, если я не избавляюсь от своего просмотра данных, я могу видеть результаты, которые я хочу.Как я могу правильно вернуть dataview?

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        return new DataView(documents.Tables[0], String.Format("ClassName = '{0}'",classType), String.Empty, DataViewRowState.CurrentRows);
    }
}

Не нужно ли избавляться от него?Я создаю утечку памяти?Нужно ли передавать набор данных по ссылке?

Большое спасибо!

1 Ответ

3 голосов
/ 01 августа 2011

Правильное место для using (или для вызова DataView.Dispose() будет там, где вы используете DataView. Не имеет смысла выбрасывать его в этом месте.

...