トップページ > プログラム > 2015年12月25日 > +55nFQ10

書き込み順位&時間帯一覧

28 位/194 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000000000000001002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
382 :デフォルトの名無しさん[sage]:2015/12/25(金) 04:39:44.37 ID:+55nFQ10
質問です。
「リファレンス(参照渡し)の引数を持つデリゲート」を引数とする、関数を作ろうとしています。

───────────────────
public void Hoge(Action<string, out string> funcA) {
 string paramA = "auau";
 funcA("hoge", paramA);
 Debug.Log(paramA);
}

Hoge(
 (param1, param2) => {
  param2 = param1 + param2;
 }
);

> paramA = hogeauau
───────────────────

こんな感じの事がしたいのですが、エラーとなってしまいます。

MSDNを見ると下記のような記載があるのですが、実現方法はないのでしょうか。

> ラムダ式は、外側のメソッドの ref パラメーターまたは out パラメーターを直接取り込むことはできません。
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
387 :デフォルトの名無しさん[sage]:2015/12/25(金) 21:08:27.60 ID:+55nFQ10
>>386
遅くなりましたが、ありがとうございます!
以下で動くことが確認できました。

─────────
// デリゲート準備
public delegate void RequestCallback(string wwwText, out string resultJson);
public void RequestReal(string wwwText, out string resultJson)
{
 resultJson = "{ \"content\" : \"" + wwwText + "\" }";
}

// 使用先関数
public void Hoge(RequestCallback funcA, out string outStr)
{
 string apiResult = "seikou sita kigasuru";
 funcA(apiResult, out outStr);
}

// 呼び出し
string result;
RequestCallback req = RequestReal;
Hoge(req, out result);
Debug.Log(result);

> { "content" : "seikou sita kigasuru" }
>
UnityEngine.Debug:Log(Object)
───────────────────


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。