Comment sérialiser / désérialiser une collection personnalisée avec des propriétés supplémentaires à l'aide de Json.Net

J'ai une collection personnalisée (implémente IList) qui a certaines propriétés personnalisées comme indiqué ci-dessous:

class FooCollection : IList<Foo> {

    private List<Foo> _foos = new List<Foo>();
    public string Bar { get; set; }        

    //Implement IList, ICollection and IEnumerable members...

}

Quand je sérialiser, j'utilise le code suivant:

JsonSerializerSettings jss = new JsonSerializerSettings() {
    TypeNameHandling = TypeNameHandling.Auto
};
string serializedCollection = JsonConvert.SerializeObject( value , jss );

Il sérialise et désérialise tous les articles de la collection correctement; cependant, toutes les propriétés supplémentaires dans le FooCollection de classe ne sont pas prises en compte.

Est-il de toute façon à l'inclure dans la sérialisation?

source d'informationauteur Pierluc SS