Ogólnie rzecz biorąc, "używanie" jest preferowanym podejściem do prawidłowego dostępu i utylizacji strumienia pliku.Czy istnieje sposób użycia "używania", ale pozostawić plik otwarty?
Często muszę pozostawić plik otwarty (jak poniżej). Czy w tym przypadku można zastosować strukturę "wykorzystującą"?
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();
}
}
Nie ma sensu używanie opcji 'using' w metodzie, jeśli nie zamierzasz zamykać strumienia w tym zakresie. Ogólny wzorzec dotyczyłby implementacji narzędzia 'logger' [' IDisposable'] (http://msdn.microsoft.com/en-us/library/system.idisposable (v = vs.110) .aspx), a następnie w zasadzie sprawiasz, że klasa wywołująca martwi się, kiedy zostanie usunięta (używając 'używając' lub nie) –
Użyj NLog lub innego frameworka # –
@ManInMoon jak chciałbyś użyć * używając * w tym przypadku, w pseudo-kodzie? – galenus