Utiliser des génériques avec XmlSerializer
Lors de l'utilisation de la sérialisation XML en C#, j'ai utiliser le code comme ceci:
public MyObject LoadData()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyObject));
using (TextReader reader = new StreamReader(settingsFileName))
{
return (MyObject)xmlSerializer.Deserialize(reader);
}
}
(et un code similaire pour la désérialisation).
Il exige de la coulée et n'est pas vraiment agréable. Est-il un moyen, directement dans .NET Framework, à l'utilisation des génériques avec la sérialisation? C'est-à-dire à écrire quelque chose comme:
public MyObject LoadData()
{
//Generics here.
XmlSerializer<MyObject> xmlSerializer = new XmlSerializer();
using (TextReader reader = new StreamReader(settingsFileName))
{
//No casts nevermore.
return xmlSerializer.Deserialize(reader);
}
}
source d'informationauteur Arseni Mourzenko
Vous devez vous connecter pour publier un commentaire.
Un ajout à @Oded, vous pouvez faire la méthode Générique aswell:
Cette façon, vous n'avez pas besoin de faire de l'ensemble de la classe générique et vous pouvez l'utiliser comme ceci:
Faire de votre sérialisation de la classe/méthode générique:
Un simple wrapper générique:
Cela va sérialiser l'objet de votre bin/debug dossier:
De l'essayer.
toujours du travail pour moi
et c'est pour Désérialiser: