Il est souvent utile de sérialiser ou désérialiser des objets. Je vous propose ici un exemple utilisant le format JSON, qui est souvent utilisé pour les échanges réseau.

Pour cela, on utilise la classe DataContractJsonSerializer qui est apparue avec .NET 3.5 :

Pour utiliser ces fonctions, il suffit d'ajouter l'annotation DataMember et de rendre mutable chaque propriété. Il faut aussi marquer le type avec l'attribut DataContract. Exemple avec une structure :

Et un exemple avec une classe :

Vous pouvez bien sûr essayer cet exemple en ligne avec tryfsharp.org.