Мой метод, который вызывает SQL Server, возвращает DataReader
, но из-за того, что мне нужно сделать, - который возвращает DataReader
вызывающему методу, который находится в коде кода, - я не могу закрыть соединение в классе метод, который вызывает SQL-сервер. Из-за этого у меня нет окончательного или использования блоков.Должен ли я реализовать IDisposable здесь?
Правильный способ распоряжаться ресурсами, чтобы реализовать класс IDisposable
? В качестве альтернативы я должен явным образом распоряжаться неуправляемым ресурсом (поля уровня класса) от вызывающего?
EDIT: Я пошлю DataReader назад, потому что мне нужно, чтобы связать конкретные данные из DataReader к регулятору ListItem, поэтому в классе вызова (Codebehind страница), я:
new ListItem(datareader["dc"]); (along those lines).
Почему вы хотите, чтобы отправить чтение данных на страницу? – Perpetualcoder
Возвращение DataReader напрямую может быть плохой практикой, но в некоторых случаях это может быть полезно для него. – Venemo
@Venemo - думаю, http://stackoverflow.com/questions/2867661/should-i-implement-idisposable-here/2869503#2869503 может служить ему лучше. – dss539