小编FSh*_*00b的帖子

F#:处理闭包内的资源?

假设我在诸如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()方法的包装器对象替换闭包?(这当然是一个微不足道的例子.)谢谢大家.

f# closures dispose

9
推荐指数
1
解决办法
446
查看次数

标签 统计

closures ×1

dispose ×1

f# ×1