Я просматриваю некоторый код C#, и это было некоторое время, так как я работал с C#, поэтому я хотел быть уверенным, что мои инстинкты верны. В этом коде я вижу число мест внутри с помощью блока, где делается что-то вроде следующего:C# using clear dispose
using(StreamWriter thing = new StreamWriter()) {
DataSet DS = SQLQueryMethod();
do stuff to DS and log that stuff to the a log file using thingy...
DS.clear();
DS.Dispose();
}
Теперь, я сделал немного исследований по этому вопросу, а также посмотрел несколько лет назад через мой провал попытки и я думаю, что есть несколько способов сделать это, чтобы было лучше. Я хотел бы узнать, какой из них более «стандартный»/«лучший pactice». Я думаю, что число 1 ниже - лучший способ сделать это.
благодарит заранее.
Добавьте DataSet в использовании заявления так, что он получает, расположенные автоматически с концом рамки с помощью заявления, отпадет необходимость как ясно и распоряжаться. Я хотел бы сделать это:
using(StreamWriter thing = new StreamWriter(), DataSet DS = new DataSet()) { DS = SQLQueryMethod() do stuff to DS{...} }
Просто вызовите Dispose на DataSet DS, так как я думаю, что расчистке это только до принятия распоряжаются бесполезно.
На самом деле это необходимо сделать оригинальным способом.
Этот вопрос, вероятно, принадлежит к http://codereview.stackexchange.com, но ответить на ваш вопрос, да, да, да, но я до сих пор думаю, что вам нужно 2 seperate usings –
Как только я вижу '.Dispose()' в методе, создающем экземпляр этого же объекта, я всегда сжимаюсь и вижу, как переписать его в шаблон 'use', который почти всегда легко прост. –
Я вижу несколько ответов с несколькими операторами using вместо добавления нескольких элементов в один оператор using, есть ли разница между ними? Пример: использование (Itema, itemB) { } против использования (Itema) использования (itemB) { } –