Ich habe diese Klasse:Gibt es eine Möglichkeit zu vermeiden, dass der XmlSerializer eine Null-Eigenschaft beim Deserialisieren nicht initialisiert?
public class MySerializableClass
{
public List<MyObject> MyList { get; set; }
}
Wenn MyList null ist, wenn MySerializableClass serialisiert ist, muss ich es null haben, wenn es zu deserialised ist, aber die XmlSerializer initialisiert es immer, wenn es meine Klasse deserialises.
Gibt es eine Möglichkeit, die Initialisierung von Null-Eigenschaften zu vermeiden?
MyList wird nicht einmal in der serialisierten Datei aufgezeichnet, wenn sie null ist. Wenn ich es mit NULL-Werten lade und erneut speichere, ist MyList nicht mehr null, es ist als Liste <> mit 0 Elementen, aber nicht null serialisiert.
Danke.
Weitere Informationen:
Eine IsDeserializing Eigenschaft aufgrund einiger Code Einschränkungen in der Struktur der Klasse nicht lebensfähig ist
Wow, System.XML ergreift nie, mich zu überraschen. Einen öffentlichen Setter für ein Sammlungsklassenmitglied zu haben ist * sehr * ungewöhnlich, überprüfe dein Design, um zu überprüfen, ob du das wirklich willst. Es funktioniert ohne einen Setter in Ordnung. –
Es ist nicht das, was ich wirklich will. Es ist was der Serializer will. Wenn ich entweder "get" oder "private" festlegen, schlägt der Deserializer fehl. – Carlo