Comment convertir JObject dans JSON.Net en T

Je sais que je peux utiliser JsonConvert.DeserializeObject<T>(string)cependant, j'ai besoin d'un aperçu de l'objet _type (qui peut ne pas être le premier paramètre) afin de déterminer la classe de fonte. Essentiellement, ce que je suis désireux de faire est quelque chose comme:

//Generic JSON processor for an API Client.
function MyBaseType ProcessJson(string jsonText)
{
  var obj = JObject.Parse(jsonText);
  switch (obj.Property("_type").Value.ToString()) {
    case "sometype":
      return obj.RootValue<MyConcreteType>();
      //NOTE: this doesn't work... 
      //return obj.Root.Value<MyConcreteType>();
    ...
  }
}
...

//my usage...
var obj = ProcessJson(jsonText);
var instance = obj as MyConcreteType;
if (instance == null) throw new MyBaseError(obj);

source d'informationauteur Tracker1