C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103930 / 2階層)  FormClosingでセーブするが稀に最後まで書込まれない
□投稿者/ 魔界の仮面弁士 (3911回)-(2026/05/05(Tue) 18:53:27)
No103929 (魔界の仮面弁士) に追記
> なお、Close() メソッドは内部で Flush() を呼びますが、
> これは Flush(true) の呼び出しを含みません。
> そのため、Flush(true) は明示的な呼び出しが必要です。
> https://learn.microsoft.com/ja-jp/dotnet/api/system.io.filestream.flush?WT.mc_id=DT-MVP-8907&view=netframework-4.8.1
> https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/IO/StreamWriter.cs#L195

失礼しました、上記に記載の github.com/dotnet は「.NET」のソースでしたね。
それに、FileStream.Flush を紹介するべきところで、StreamWriter.Flush ソースへのリンクになってしまっていました。

「.NET Framework」の FileStream.Flush のソースはこっち。
https://github.com/microsoft/referencesource/blob/main/mscorlib/system/io/filestream.cs#L1322

「public virtual void Flush(Boolean flushToDisk)」において、
引数が true の時に FlushOSBuffer(); が呼ばれているけれど、
Close 等から呼ばれているのは、Flush(false) であることが分かります。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: FormClosingでセーブするが稀に最後まで書込まれない /魔界の仮面弁士 →Re[3]: FormClosingでセーブするが稀に最後まで書込まれない /Tom
 
上記関連ツリー

FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/05(Tue) 11:26) #103927
Re[1]: FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/05(Tue) 17:57) #103929
  └ FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/05(Tue) 18:53) #103930 ←Now
    └ Re[3]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/06(Wed) 13:09) #103931
      └ Re[4]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/13(Wed) 20:50) #103933
        └ Re[5]: FormClosingでセーブするが稀に最後まで書込まれない / Azulean (26/05/13(Wed) 22:06) #103934
          └ Re[6]: FormClosingでセーブするが稀に最後まで書込まれない / 魔界の仮面弁士 (26/05/14(Thu) 11:41) #103935
            └ Re[7]: FormClosingでセーブするが稀に最後まで書込まれない / Tom (26/05/16(Sat) 12:54) #103936

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信