„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie serialisieren Sie eine Klasse mit Wörterbuchmitgliedern in .NET 2.0?

Wie serialisieren Sie eine Klasse mit Wörterbuchmitgliedern in .NET 2.0?

Gepostet am 2025-04-13
Durchsuche:708

Serialisierungsmethode mit Wörterbuch -Mitgliedsklassen unter .net 2.0

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.

How to Serialize a Class with a Dictionary Member in .NET 2.0?

Neuestes Tutorial Mehr>

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