我想傳遞一個字符串和一個類型到一個通用的方法並試圖反序列化。以下是我已經有了:如何傳遞一個類型到一個通用的反序列化方法
public static T DeserializeObject<T>(string value, Type type)
{
T result = default(T);
try
{
result = JsonConvert.DeserializeObject<type>(value);
System.Diagnostics.Debug.WriteLine($"\nDeserialization Success! : { result }\n");
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine($"\nDeserialization failed with exception : { ex }\n");
}
return result;
}
我試圖調用其中「GroupObject」是我想返回類型的方法:
var deserialized = Core.Deserializer.DeserializeObject(value: response, type: GroupObject);
導致錯誤:
Error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected (CS0119)
可以做到這一點嗎?
我想用它像這樣:Core.Deserializer.DeserializeObject(response)所以我可以重用該方法來反序列化其他類型的對象 –
是的,你可以做到這一點。你只需要在括號''中傳遞你想要的任何類型。這是仿製藥如何工作 –
我編輯了答案。 –