Maison > développement back-end > C++ > Comment sérialiser une classe avec un membre de dictionnaire en C# ?

Comment sérialiser une classe avec un membre de dictionnaire en C# ?

Barbara Streisand
Libérer: 2025-01-15 18:41:45
original
177 Les gens l'ont consulté

How to Serialize a Class with a Dictionary Member in C#?

Sérialisation de classe C# contenant des membres de dictionnaire

Lorsque vous essayez de sérialiser une classe contenant des membres de dictionnaire, un message d'erreur similaire à "Impossible de sérialiser le membre App.Configfile.mappedDrives" peut apparaître. Bien que les dictionnaires puissent être sérialisés, ce problème peut toujours se produire.

Pour résoudre ce problème, vous pouvez envisager d'utiliser la solution de dictionnaire générique sérialisable XML fournie par le blog de Paul Welter. Les dictionnaires génériques dans .NET 2.0 ne sont pas sérialisables en XML. L'extrait de code de Welter fournit une solution, implémentant l'interface IXmlSerializing pour rendre le dictionnaire sérialisable.

Voici le code fourni :

<code class="language-csharp">[XmlRoot("dictionary")]
public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable
{
    // ...
}</code>
Copier après la connexion

En implémentant les méthodes ReadXml et WriteXml, cette classe de dictionnaire personnalisé peut sérialiser et désérialiser les paires clé-valeur. Ce dictionnaire personnalisé peut être utilisé pour remplacer le dictionnaire standard dans la classe ConfigFile afin de résoudre les problèmes de sérialisation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal