2016-04-16 10 views
1

私はBinaryWriterを使っていて、 "let"の代わりに "use"を使って宣言していると、処理が完了したら自動的に "Dispose"メソッドを呼び出すことを理解しています。このDisposeは、BinaryWriterでも "Close"を呼び出すか、またCloseを呼び出す必要がありますか? BinaryWriter.Close状態のBinaryWriterを「使用する」場合、Closeも呼び出す必要がありますか? - F#

use byteWriter = new BinaryWriter(new MemoryStream(bytes)) 
[1;2;3] |> List.iter(fun s -> byteWriter.Write(int16(s))) 
byteWriter.Close() // is this needed? 

答えて

3

documentation

閉じるのこの実装は、真 値を渡すDisposeメソッドを呼び出します。

useのスコープを終了するときにDisposeが呼び出されるので、不要ではありません。

source for BinaryWriterを見ると、CloseDisposeの両方がちょうどDispose(true)と呼ばれています。

関連する問題