J'ai trois classes qui sont sérialisées en données XML via la méthode XMLserializer. Est-il possible de rendre la méthode accessible par tous plutôt que d'avoir trois méthodes xmlserialize dans mon code.Rendre une méthode XMLSerialzier une classe publique
//Here I'm writing to my class with the data that needs to be serialized
PERSON r = new PERSON();
Input l = new Search.Input();
INPUTSEARCHNBR ln = new INPUTSEARCHNBR();
ln.number = pnumber;
r.query = ln;
string xml = doSerialization(r);
//Call the xmlserializer method
private static string doSerialization(PERSON r)
{
string serializedValue = string.Empty;
try
{
XmlSerializer xmlSerializer = new XmlSerializer(r.GetType());
using (MemoryStream ms = new MemoryStream())
{
xmlSerializer.Serialize(ms, r);
ms.Position = 0;
var sr = new StreamReader(ms);
serializedValue = sr.ReadToEnd();
}
serializedVal = serializedValue.Replace("version=\"0\"", string.Empty).Replace("<?xml version=\"1.0\"?>", string.Empty).Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", string.Empty);
}
return serializedVal;
}
Mon code répète ce deux plus de temps pour deux classes différentes, il écrit à la classe et appelle ensuite une autre méthode XMLSERIALIZE parce que l'entrée de la méthode est un type de classe différente. Y at-il un moyen de rendre la méthode public ou avoir une classe ou toute autre manière de sorte que je n'ai pas besoin de coller deux méthodes xmlserialize supplémentaires qui sont exactement les mêmes mais la classe d'entrée est différente.