2

だから私はC#でこのクラスを持っています:

public class Foo : IFoo {
    public bool TryConnect(out Status status) {
        ...
    }
}

そして、それを F# で使用したいと考えています。

残念ながら、次のようなハッカーを使用する必要がありました。

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 にのみ当てはまるヒントがあれば、喜んで聞かせてください。)

ありがとう

4

1 に答える 1

5

outparams は自動的に tuplized されます。したがって、次のことができます。

let res, status = foo.TryConnect()

詳細については、MSDNの「参照渡し」を参照してください。

于 2012-08-21T14:25:57.383 に答える