C#でXMLシリアル化を使用する場合、次のようなコードを使用します。
public MyObject LoadData()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyObject));
using (TextReader reader = new StreamReader(settingsFileName))
{
return (MyObject)xmlSerializer.Deserialize(reader);
}
}
(および逆シリアル化のための同様のコード)。
それはキャストを必要とし、本当にいいものではありません。.NET Frameworkで直接、ジェネリックスをシリアル化で使用する方法はありますか?つまり、次のようなものを書くということです。
public MyObject LoadData()
{
// Generics here.
XmlSerializer<MyObject> xmlSerializer = new XmlSerializer();
using (TextReader reader = new StreamReader(settingsFileName))
{
// No casts nevermore.
return xmlSerializer.Deserialize(reader);
}
}