Json.net Nombres de parámetros del constructor `JsonConstructor`

Cuando se utiliza un .ctor específico a través deJsonConstructor para deserializarIList<ISomeInterface> propiedades, los nombres de los parámetros deben coincidir conoriginal Json nombres y elJsonProperty no se usa el mapeo de esas propiedades.

Ejemplo:

SpokenLanguages el parámetro siempre es nulo ya que no coincidespoken_languages, pero hay unJsonProperty mapearlo:

public partial class AClass : ISomeBase
{
    public AClass() { }

    [JsonConstructor]
    public AClass(IList<SysType> SysTypes, IList<ProductionCountry> production_countries, IList<SpokenLanguage> SpokenLanguages)
    {
        this.Genres = SysTypes?.ToList<IGenre>();
        this.ProductionCountries = production_countries?.ToList<IProductionCountry>();
        this.SpokenLanguages = SpokenLanguages?.ToList<ISpokenLanguage>();
    }

    public int Id { get; set; }
    public IList<IGenre> Genres { get; set; }
    [JsonProperty("production_countries")]
    public IList<IProductionCountry> ProductionCountries { get; set; }
    [JsonProperty("spoken_languages")]
    public IList<ISpokenLanguage> SpokenLanguages { get; set; }
}

¿Es esto solo una "limitación" de cómoJson.Net llama al constructor o hay algo que me falta.

FYI: estoy generando código a través de Rosyln y no estoy buscando generar unJsonConverter para cada tipo para esto ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta