Как правило, «использование» является предпочтительным подходом к правильному доступу и удалению фильтра.Есть ли способ использовать «использование», но оставить файл открытым?
Мне часто нужно оставить файл открытым (как показано ниже). Может ли использоваться «использующая» структура в этом случае?
public class logger
{
private StreamWriter sw;
public logger(string fileName)
{
sw = new StreamWriter(fileName, true);
}
public void LogString(string txt)
{
sw.WriteLine(txt);
sw.Flush();
}
public void Close()
{
sw.Close();
}
}
Нет смысла использовать 'использование' внутри метода, если вы не собираетесь закрывать поток в этой области. Общая схема здесь заключалась бы в том, чтобы сделать ваш инструмент «logger» ['IDisposable'] (http://msdn.microsoft.com/en-us/library/system.idisposable (v = vs.110) .aspx), затем вы в основном заставляете вызывающий класс беспокоиться о том, когда он будет удален (используя 'using' или нет) –
Используйте NLog или другую фреймворк. # –
@ManInMoon Как бы вы хотели использовать * используя * в этом случае в псевдокоде? – galenus