Heim >Backend-Entwicklung >C++ >Wie serialisiere ich eine Klasse mit einem Wörterbuchmitglied in C#?
C#-Klassenserialisierung mit Wörterbuchmitgliedern
Beim Versuch, eine Klasse zu serialisieren, die Wörterbuchmitglieder enthält, wird möglicherweise eine Fehlermeldung ähnlich der „Unable to serialize member App.Configfile.mappedDrives“ angezeigt. Obwohl Wörterbücher serialisiert werden können, kann dieses Problem dennoch auftreten.
Um dieses Problem zu lösen, können Sie die Verwendung der XML-serialisierbaren generischen Wörterbuchlösung in Betracht ziehen, die von Paul Welters Weblog bereitgestellt wird. Generische Wörterbücher in .NET 2.0 sind nicht XML-serialisierbar. Das Code-Snippet von Welter bietet eine Lösung, indem es die IXmlSerializable-Schnittstelle implementiert, um das Wörterbuch serialisierbar zu machen.
Hier ist der bereitgestellte Code:
<code class="language-csharp">[XmlRoot("dictionary")] public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable { // ... }</code>
Durch die Implementierung der Methoden ReadXml und WriteXml kann diese benutzerdefinierte Wörterbuchklasse Schlüssel-Wert-Paare serialisieren und deserialisieren. Dieses benutzerdefinierte Wörterbuch kann verwendet werden, um das Standardwörterbuch in der ConfigFile-Klasse zu ersetzen und Serialisierungsprobleme zu lösen.
Das obige ist der detaillierte Inhalt vonWie serialisiere ich eine Klasse mit einem Wörterbuchmitglied in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!