我有以下两种扩展方法:
public static object DeserializeFromXmlFile(this Type type, string FileName)
{
try
{
using (TextReader reader = new StreamReader(FileName))
{
XmlSerializer ser = new XmlSerializer(type);
return ser.Deserialize(reader);
}
}
catch (Exception ex)
{
return null;
}
}
public static bool SerializeToXmlFile(this object obj, string FileName)
{
try
{
using (TextWriter writer = new StreamWriter(FileName))
{
XmlSerializer ser = new XmlSerializer(obj.GetType());
ser.Serialize(writer, obj);
}
return true;
}
catch (Exception ex)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
然后是使用它们的代码:
SaveToFile(string LogFile, MyClass c)
{
c.SerializeToXmlFile(LogFile); …Run Code Online (Sandbox Code Playgroud)