我有這個塞納里奧我需要提供JSON反序列化類型的類型,我該怎麼做它的動態?在運行時創建的類型參數的泛型類型
在這裏,代碼使用的示例類名(rd.ds.SDK.re.sa),但在現實的代碼類型將使用來自數據庫中的數據來構造。
Type dynamicalyCreatedAtRuntime = Type.GetType("rd.ds.SDK.re.sa");
var response = webRequest.ReadJsonResponseAs<Result<AnalysisResult<dynamicalyCreatedAtRuntime>>();
public static T ReadJsonResponseAs<T>(this HttpWebRequest webRequest)
{
using (System.IO.Stream responseStream = webRequest.GetResponse().GetResponseStream())
{
using (System.IO.StreamReader sr = new System.IO.StreamReader(responseStream))
{
T result = JsonConvert.DeserializeObject<T>(sr.ReadToEnd());
responseStream.Close();
return result;
}
}
}
可能重複: //stackoverflow.com/questions/1151464/how-to-dynamically-create-generic-c-sharp-object-using-reflection) – Yuriy
是'ReadJsonResponseAs'的擴展方法?是在第三方庫中定義的嗎?檢查API是否暴露了一個帶有'Type'對象而不是泛型類型參數的重載。 – dcastro
不是重複的。這是調用一個通用的方法。 –