Nach der Dokumentation MSDN, dies als „nur dafür, dass“ vergeben werden konnten ...
StreamWriter.Flush():
Löscht alle Puffer für den aktuellen Schriftsteller und verursacht jede gepufferte Daten, die in den zugrunde liegenden Stream geschrieben werden sollen.
Stream.Flush():
Wenn in einer abgeleiteten Klasse überschreibt, löscht alle Puffer für diesen Strom und bewirkt, daß alle gepufferten Daten an die darunter liegende Gerät geschrieben werden.
... Ein genauerer Blick auf den Code in TypeDescriptor zeigt jedoch, dass StreamWriter.Flush() (und würde seine asynchrone Gegenstück FlushAsync nehmen) ist eine Überlast, die die primäre Funktion aufruft, zwei Booleschen Parameter übergeben die Weisen Sie den StreamWriter an, den Stream und den Unicode-Encoder ebenfalls zu leeren. Daher sollte ein Aufruf von StreamWriter.FlushAsync() zusammen mit dem Schlüsselwort await
, um sicherzustellen, dass die asynchrone Operation vollständig stattgefunden hat, in Ordnung sein.