como desserializar JSON em IEnumerable <BaseType> com Newtonsoft JSON.NET

given this JSON:

[
  {
    "$id": "1",
    "$type": "MyAssembly.ClassA, MyAssembly",
    "Email": "[email protected]",
  },
  {
    "$id": "2",
    "$type": "MyAssembly.ClassB, MyAssembly",
    "Email": "[email protected]",
  }
]

e estas classes:

public abstract class BaseClass
{
    public string Email;
}
public class ClassA : BaseClass
{
}
public class ClassB : BaseClass
{
}

Como posso desserializar o JSON para:

IEnumerable<BaseClass> deserialized;

Não consigo usarJsonConvert.Deserialize<IEnumerable<BaseClass>>() porque reclama queBaseClass é abstrato.

questionAnswers(4)

yourAnswerToTheQuestion