下面是简单的代码片段,我创建明白为什么我行动之前,在我的代码我可以对IDisposable对象使用“模糊”参数传递吗?
type IType =
inherit IDisposable
abstract say : string -> unit
let St = {
new IType with
member i.say hi = Console.Write hi
member i.Dispose() = Console.Write "So I disposed"
}
let Say1(cmon : IType) =
using <| cmon
<| fun lol -> lol.say
Say1 St " :(" // So I disposed :(
printfn ""
let Say2(cmon : IType) (smile : string) =
using <| cmon
<| fun lol -> lol.say smile
Say2 St " :) " // :) So I disposed
我有两个问题在这里处理。
- 确切地说
St
在第一次调用中处理? - 有语法的方式来传递的“模糊”的方法参数,但不破
IDisposable
?
我需要它,因为我想传递printf相似的参数,我不知道它的数量。一旦相应SayN
退出
的参数看你的最后几个问题,他们似乎有一个共同的主题。你究竟想要做什么? – 2013-04-29 11:36:02
我想使用printf相似的语法来登录到文件。我正试图找到优雅的解决方案。 – Cynede 2013-04-29 12:26:14
那么为什么你不能使用fprintf? – 2013-04-29 21:09:39