2011-10-24 9 views
4

は私が引き出て使用しています:[<Out>] message : string[<Out>]引数の設定方法は?

をしかし、ときに私はそれを設定しようとしています。メッセージ<を -

「開始位置には数字がありません」というメッセージではないので、私はエラーを取得しています変更可能です。引数を設定する方法は?パラメータアウト

+0

、ないあなたがoutパラメータが動作していますが、機能から必要なすべての値を返すために、代わりにタプルを使用しようとするために得ることができません。 – Alex

答えて

6

タイプbyref<string>と属性[<Out>]でメソッドのパラメータを公開すると、アドレスので引数として可変値を使用しますオペレータ&:提案として

open System.Runtime.InteropServices 

let mutable msg = "abc" 

let outmsg ([<Out>]message : byref<string>) = 
    message <- "xyz" 

msg <- "test" 
outmsg(&msg) 
msg;; 

val mutable msg : string = "xyz" 
val outmsg : byref<string> -> unit 
0

は、参考文献のようなものです - あなたは(MSDNのドキュメントから引用)このような:=を使用する必要が

open System.Runtime.InteropServices;; 
type dummy() = 
    member this.MyMethod([<param: Out>] x : ref<int>) = x := 10 ;; 
関連する問題