Stream Write im Destructor schließen?

08/01/2010 - 22:27 von Filip Pierdziuszewski | Report spam
Hallo NGler,

ist es eigentlich sinnvoll Folgendes zu machen?

class FileChanger
{
private FileStream _stream;
private StreamWriter _streamW;

public FileChanger(string file)
{
_stream = new FileStream(file, FileMode.Append, FileAccess.Write);
_streamW = new StreamWriter(_stream);
}

// ...
// Methoden zur Änderung der Datei
// ...

~FileChanger()
{
_streamW.Close();
_stream.Close();
}
}

Ich bin ziemlich neu was C# und frage mich, ob es sinnvoll ist Ressourcen
erst dann zu schließen, wenn das Objekt das sie verwaltet aufgeràumt wird.

Gruß
Filip
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
09/01/2010 - 01:02 | Warnen spam
Am 08.01.2010 22:27, schrieb Filip Pierdziuszewski:
ist es eigentlich sinnvoll Folgendes zu machen?

class FileChanger
{
private FileStream _stream;
private StreamWriter _streamW;

public FileChanger(string file)
{
_stream = new FileStream(file, FileMode.Append, FileAccess.Write);
_streamW = new StreamWriter(_stream);
}

// ...
// Methoden zur Änderung der Datei
// ...

~FileChanger()
{
_streamW.Close();



Ja. Eventuell besser auch innerhalb von 'Dispose' (siehe 'IDisposable').

_stream.Close();



Das ist nicht notwendig, da es automatisch beim Schließen des
'StreamWriter'-Objektes geschieht.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen