Je suis en train de sérialiser un objet XML qui a un certain nombre de propriétés, dont certaines sont en lecture seule.
public Guid Id { get; private set; }
J'ai marqué la classe [Serializable] et j'ai implémenté l'interface ISerializable.
Ci-dessous le code que j'utilise pour sérialiser mon objet.
public void SaveMyObject(MyObject obj)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
TextWriter tw = new StreamWriter(_location);
serializer.Serialize(tw, obj);
tw.Close();
}
Malheureusement, il tombe sur la première ligne avec ce message.
InvalidOperationException est non gérée: Incapable de générer une classe temporaire (résultat=1). erreur CS0200: Propriété ou d'indexation 'MyObject.Id' ne peut pas être attribué à -- il est en lecture seule
Si j'ai mis l'Id de la propriété publique, il fonctionne très bien. Quelqu'un peut-il me dire si je suis en train de faire quelque chose, ou au moins si c'est encore possible?