将C#等待的方法转换为Mono(Unity3D)

将C#等待的方法转换为Mono(Unity3D),unity3d,Unity3d,我试图将我的Windows Phone游戏移植到Unity,但在异步服务器调用方面遇到了一些问题: public static async Task<T> Get<T>(String path) { HttpClient client = CreateHttpClient(); var clientResponse = await client.GetAsync(Config.SERVER_URL + path); return JsonCon

我试图将我的Windows Phone游戏移植到Unity,但在异步服务器调用方面遇到了一些问题:

public static async Task<T> Get<T>(String path)
{
    HttpClient client = CreateHttpClient();

    var clientResponse = await client.GetAsync(Config.SERVER_URL + path);

    return JsonConvert.DeserializeObject<T>(await clientResponse.Content.ReadAsStringAsync());
}
公共静态异步任务Get(字符串路径)
{
HttpClient=CreateHttpClient();
var clientResponse=await client.GetAsync(Config.SERVER\u URL+path);
返回JsonConvert.DeserializeObject(wait clientResponse.Content.ReadAsStringAsync());
}
我在Unity脚本中有以下内容,但这有点疯狂:

public static IEnumerable<T> GetAnonymous<T>(string path)
{
  WWW www = new WWW(SERVER_URL + path);

  yield return (T)JsonConvert.DeserializeObject(www.text);
}
公共静态IEnumerable GetAnonymous(字符串路径)
{
WWW=新的WWW(服务器URL+路径);
收益率返回(T)JsonConvert.DeserializeObject(www.text);
}

它声明Object ref未设置为对象的实例,当我尝试访问对象的属性时,您需要等待WWW类完成请求

public static IEnumerable<T> GetAnonymous<T>(string path)
{
  WWW www = new WWW(SERVER_URL + path);

  yield return www;

  return (T)JsonConvert.DeserializeObject(www.text)
}
公共静态IEnumerable GetAnonymous(字符串路径)
{
WWW=新的WWW(服务器URL+路径);
收益率;
return(T)JsonConvert.DeserializeObject(www.text)
}

你可以阅读更多关于WWW课程的内容。

如果我把WWW;它指出一个错误,告诉我名为www的本地变量已在此范围内定义:/sorry,您应该返回www;我已经编辑了我的答案。谢谢你的回复,但我仍然有问题。它在返回结果www时停止,告诉我“不能隐式地将类型www转换为T…似乎返回方法:)仍处于不确定状态:/yup,这是因为您试图在需要T时返回www类型,尝试从IEnumerable中删除该类型,但这意味着您需要在调用GetAnonymous时执行显式强制转换