Gibt es eine Möglichkeit, dies zu tun:Können Sie einen StreamReader davon abhalten, den zugrunde liegenden Stream zu entsorgen?
this.logFile = File.Open("what_r_u_doing.log", FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var sr = new StreamReader(this.logFile))
{
// Read the data in
}
// ... later on in the class ...
this.logFile = File.Open("what_r_u_doing.log", FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var sw = new StreamWriter(this.logFile))
{
// Write additional data out...
}
Ohne die Datei zweimal zu öffnen?
Ich kann nicht scheinen, den StreamReader nicht-dispose meinen Strom zu machen. Ich will es auch nicht einfach außer Reichweite lassen. Dann ruft der Garbage Collector schließlich den Dispose auf und tötet den Stream.
Aber gibt es nicht die Möglichkeit, dass in Zukunft 'StreamReader' modifiziert werden würde einige nicht verwaltete Ressource zu halten, starten Sie eine Finalizerthread Implementierung und dann, wenn außerhalb des Gültigkeitsbereiches zufällig in der Nähe Stream gehen wenn der Müllsammler es fertigstellt?Oder sollen wir annehmen, dass dies nicht geschieht, weil das jetzt nicht geschieht? – binki