Mittwoch, 2. April 2008

Streams

Schließe einen Stream erst so spät wie möglich (z.B. Dispose, Close Events, etc) aber tue es!
(...und frag ab ob er nicht schon null ist)

Streams kann man nicht mehr abspeichern oder andersweitig bearbeiten wenn sie geclosed wurden. Es ist zwar noch möglich z.B. Properties von einem Bild auszulesen, aber das speichern scheitert später unweigerlich.

Ist der Stream z.B. einmal abgespeichert worden, kümmert sich in der Regel der Garbage Collector darum. Wenn aber nichts weiteres besonderes mit dem Stream passiert ist der Stream noch immer offen beim Dispose, etc.

   1:  protected override void OnFormClosing(FormClosingEventArgs e)
   2:  {
   3:      if(stream != null)
   4:      {
   5:          stream.Close();
   6:      }
   7:   
   8:      base.OnFormClosing(e);
   9:  }

Keine Kommentare: