kno*_*cte 2 f# pass-by-reference c#-to-f# f#-3.0
所以我在C#中有这个类:
public class Foo : IFoo {
    public bool TryConnect(out Status status) {
        ...
    }
}
我想用F#消费它.
不幸的是我不得不使用一些hackery,例如:
type FooService (foo : IFoo) =
    member x.Execute() =
        let mutable status = Unchecked.defaultof< ^Status>
        foo.TryConnect(&status) |> ignore
        (...do something with status...)
有没有办法在这里不使用"可变"?最后,我实际上根本没有使用第一个初始化值.
(我正在使用F#2.0,但是如果你的提示只适用于F#3.0,我会很高兴听到它们.)
谢谢
outparams自动tuplized.所以,你可以这样做:
let res, status = foo.TryConnect()
有关详细信息,请参阅MSDN上的按引用传递.
| 归档时间: | 
 | 
| 查看次数: | 324 次 | 
| 最近记录: |