Serialización json personalizada para cada elemento en IEnumerable [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo se serializa una matriz enum a una matriz de cadenas Json? [duplicar] 2 respuestas

Estoy usando Json.NET para serializar un objeto que tiene unIEnumerable de una enumeración yDateTime. Es algo como:

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

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

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

Pero necesito una costumbreJsonConverter hacer que la enumeración se serialice como una cadena y cambiar elDateTime formato de cadena

He intentado usar elJsonConverter atributo como se mencionaaquí para enumeración y una costumbreIsoDateTimeConverter como hechoaquí:

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

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

Esperaba que funcionara para unIEnumerable también, pero como era de esperar, no lo hace:

No se puede convertir el objeto del tipo 'WhereSelectArrayIterator`2 [System.Int32, Model.State]' para escribir 'System.Enum'.

¿Hay alguna manera de decir que elJsonConverterAttribute se aplica a cada elemento y no en el enumerable en sí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta