public IEnumerator YieldFunction (string argStr, System.Action<Dictionary<string, object>> returnData) { WWWForm form = new WWWForm (); form.AddField ("hoge_form", argStr); WWW www = new WWW ("http://example.com/hoge", form); yield return StartCoroutine (WaitForRequest (www, returnData)); }
これに対し、Hogeクラスのインスタンスの格納された変数がhogeとする。
Dictionary <string, object> returnValue = new Dictionary<string, object> (); yield return StartCoroutine (hoge.YieldFunction (user_id, value => returnValue = value));
valueの仮引数に対して、返って来た値を保存するために「returnValue = value」がある。
ちなみに、Lambda式部分は
http://msdn.microsoft.com/en-us/library/vstudio/bb397687.aspx
にある「(input parameters) => {statement;}」のような書き方で、
こう書いてもOK。
yield return StartCoroutine (hoge.YieldFunction (user_id, (value) => { returnValue = value; }));
returnValueにはDictioanary型が返ってきます。