Dieser Artikel erweitert eine frühere Diskussion über Serialisierungswörterbuchklassen. Diese Klasse enthält drei Eigenschaften: Guipath
, configPath
und mapppedDrives
. mapppedDrives
ist ein Wörterbuch, mit dem Laufwerksbriefe auf Netzwerkpfade abgebildet werden.
Bei der Serialisierung oder Deserialisierung der Klasse erhält der Benutzer jedoch den folgenden Fehler:
kann die member app.configfile.mappeddrives
nicht serialisieren.
Dieser Fehler tritt aus irgendeinem Grund auf, dass das generische Wörterbuch in .NET 2.0 nicht XML-serialisiert ist.
Solutions
Um dieses Problem zu lösen, können Benutzer benutzerdefinierte serialisierbare Wörterbuchklassen verwenden. Paul Welter stellt in seinem Blog eine solche Klasse an:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;
[XmlRoot("dictionary")]
public class SerializableDictionary : Dictionary, IXmlSerializable
{
// 部分代码省略 ...
}
Diese Klasse implementiert die ixmlSerializable
Schnittstelle, sodass sie serialisiert und deserialisiert werden können. Der Benutzer kann dann diese benutzerdefinierte Wörterbuchklasse in seiner Hauptklasse verwenden:
// ...
public Dictionary mappedDrives = new SerializableDictionary();
// ...
Dies sollte es der Klasse ermöglichen, serialisiert und ordnungsgemäß zu deserialisiert zu werden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3