how para deserializar JSON en IEnumerable <BaseType> con Newtonsoft JSON.NET

dado este JSON:

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

y estas clases:

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

¿Cómo puedo deserializar el JSON en:

IEnumerable<BaseClass> deserialized;

No puedo usarJsonConvert.Deserialize<IEnumerable<BaseClass>>() porque se queja de queBaseClass es abstracto.

Respuestas a la pregunta(4)

Su respuesta a la pregunta