文字列と型を汎用メソッドに渡して逆直列化を試みたいとします。ここで私が持っているものです:型を非直列化の汎用メソッドに渡す方法
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(レスポンス)他のタイプのオブジェクトを逆シリアル化するメソッドを再利用することができます。 –
はい、あなたはすでにそれを行うことができます。角括弧 ''に任意の型を渡すだけです。これはジェネリックスの動作方法です –
私は答えを編集しました。 –