通用协程动作参数

我正在尝试使GET / Post请求函数接受通用参数,这是我的get方法:


public static IEnumerator Get<T>(Action<T> callback, string url)

{

    UnityWebRequest www = UnityWebRequest.Get(url);

    yield return www.SendWebRequest();


    if (www.isNetworkError || www.isHttpError)

    {

        callback(www.error);

    }

    else

    {

        if (typeof(T) == typeof(String))

            callback(www.downloadHandler.text);

    }


}

这是我的用法:


public void GetTest()

{

    string url = "***";


    StartCoroutine(Http.Get<String>((response) => {

        if (response != null)

            Debug.Log(response);

    }, url));

}

但是这一行:


callback(www.error);

引发无法将字符串转换为T的错误


这对我来说很有意义,但我不知道如何解决,这就是我尝试过的


callback((T)www.error);


callback(www.error as T);


缥缈止盈
浏览 150回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP