我有这个塞纳里奥我需要提供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
不是重复的。这是调用一个通用的方法。 –