Nomes de parâmetros do construtor Json.net `JsonConstructor`

Ao usar um .ctor específico viaJsonConstructor para desserializaçãoIList<ISomeInterface> propriedades, os nomes dos parâmetros devem corresponder aooriginal Nomes Json e oJsonProperty o mapeamento nessas propriedades não é usado.

Exemplo:

SpokenLanguages parâmetro é sempre nulo, pois não correspondespoken_languages, mas existe umJsonProperty mapeando-o:

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; }
}

Isso é apenas uma "limitação" de comoJson.Net chama o construtor ou há algo que está faltando.

FYI: Eu sou código gerando tudo isso via Rosyln e não estou olhando para gerar umJsonConverter para cada tipo para isso ...

questionAnswers(1)

yourAnswerToTheQuestion