Serialização json personalizada para cada item em IEnumerable [duplicado]

Esta pergunta já tem uma resposta aqui:

Como você serializa uma matriz enum para uma matriz Json de seqüências de caracteres? [duplicado] 2 respostas

Estou usando o Json.NET para serializar um objeto que possui umIEnumerable de um enum eDateTime. É algo como:

class Chart
{
    // ...
    public IEnumerable<int> YAxis { get; set; }

    public IEnumerable<State> Data { get; set; }

    public IEnumerable<DateTime> XAxis { get; set; }
}

Mas eu preciso de um costumeJsonConverter para tornar o enum serializado como string e alterar oDateTime formato de string.

Eu tentei usar oJsonConverter atributo como mencionadoaqui para enum e um costumeIsoDateTimeConverter como feitoaqui:

[JsonConverter(typeof(StringEnumConverter))]
public IEnumerable<State> Data { get; set; }

[JsonConverter(typeof(MyDateTimeConverter))]
public IEnumerable<DateTime> XAxis { get; set; }

Eu esperava que funcionasse por umIEnumerable também, mas sem surpresa, isso não acontece:

Não foi possível converter o objeto do tipo 'WhereSelectArrayIterator`2 [System.Int32, Model.State]' para o tipo 'System.Enum'.

Existe alguma maneira de dizer que oJsonConverterAttribute aplica-se a cada item e não ao próprio enumerável?

questionAnswers(1)

yourAnswerToTheQuestion