使用泛型當在C#中使用XML序列化,我使用這樣的代碼:與XmlSerializer的
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);
}
}
一個通用的'XmlSerializer'如圖你上面的例子並不存在。如果您需要這些功能,您將需要創建自己的包裝。 – 2010-04-19 19:31:16