Ich versuche, ein Objekt in XML zu serialisieren, das eine Reihe von Eigenschaften aufweist, von denen einige schreibgeschützt sind.
public Guid Id { get; private set; }
Ich habe die Klasse [Serializable] markiert und die ISerializable-Schnittstelle implementiert.
Unten ist der Code, mit dem ich mein Objekt serialisiere.
public void SaveMyObject(MyObject obj)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
TextWriter tw = new StreamWriter(_location);
serializer.Serialize(tw, obj);
tw.Close();
}
Leider fällt es in der ersten Zeile mit dieser Nachricht um.
InvalidOperationException wurde nicht behandelt: Es konnte keine temporäre Klasse generiert werden (Ergebnis = 1). Fehler CS0200: Eigenschaft oder Indexer 'MyObject.Id' kann nicht zugewiesen werden - es ist schreibgeschützt
Wenn ich die Id-Eigenschaft auf public setze, funktioniert sie einwandfrei. Kann mir jemand sagen, ob ich etwas mache oder ob es überhaupt möglich ist?