Usando genéricos com XmlSerializer
Ao usar a serialização XML em C #, uso código como este:
public MyObject LoadData()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyObject));
using (TextReader reader = new StreamReader(settingsFileName))
{
return (MyObject)xmlSerializer.Deserialize(reader);
}
}
(e código semelhante para desserialização).
Requer elenco e não é muito legal. Existe uma maneira, diretamente no .NET Framework, de usar genéricos com serialização? Ou seja, para escrever 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);
}
}