假设我在诸如StreamWriter之类的资源上创建了一个闭包:
let currentdir = Directory.GetCurrentDirectory()
let testfile = sprintf "%s\\%s" currentdir "closuretest.txt"
let getwriter() =
let writer = new StreamWriter(testfile, false)
(fun() -> writer.Write "test")
Run Code Online (Sandbox Code Playgroud)
当我完成关闭时,有没有办法关闭StreamWriter?或者我需要用包含Write()方法和Dispose()方法的包装器对象替换闭包?(这当然是一个微不足道的例子.)谢谢大家.