Al utilizar serialización XML en C#, que utilizan un código como éste:Uso de medicamentos genéricos con XmlSerializer
public MyObject LoadData()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyObject));
using (TextReader reader = new StreamReader(settingsFileName))
{
return (MyObject)xmlSerializer.Deserialize(reader);
}
}
(y el código similar para deserialización).
Requiere fundición y no es realmente agradable. ¿Hay alguna manera, directamente en .NET Framework, de usar genéricos con serialización? Es decir, a escribir algo como:
public MyObject LoadData()
{
// Generics here.
XmlSerializer<MyObject> xmlSerializer = new XmlSerializer();
using (TextReader reader = new StreamReader(settingsFileName))
{
// No casts nevermore.
return xmlSerializer.Deserialize(reader);
}
}
Un genérico 'XmlSerializer' como se muestra en el ejemplo anterior no existe. Tendrá que crear su propio contenedor si desea esta funcionalidad. –