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