私はJson.Netを使用してオブジェクトをデシリアライズしようとしています。私は、MyObject.Bodyでシリアル化されたオブジェクトを保持するMyObjectという単純なオブジェクトを持っています。 クラスの型をMyObject.ClassTypeに格納しています。どのタイプをデシリアライズするかを決定するために、巨大なswitch文を書く必要はありません。これを動的に行うことはできますか?Json.Netオブジェクトを動的に逆シリアル化しますか?
string value = "fullClassName";
switch (value)
{
case "Cat":
var cat = JsonConvert.DeserializeObject<Cat>(myObject.Body);
break;
case "Dog":
var dog = JsonConvert.DeserializeObject<Dog>(myObject.Body);
break;
}
public class MyObject
{
public string Body { get; set; }
public string ClassType { get; set; }
}
var myAnimal = JsonConvert.DeserializeObject<1of10TypesOfObjects> (myObject.Body);
"fullClassName"がクラス名と一致することを確認できる場合は、リフレクションを使用してタイプを取得できます。 –
私はリフレクションに精通していないので、少し具体的にできますか? – Princess