小编Ben*_*enS的帖子

如何最好地表达此序列化/反序列化类型的扩展方法

我有以下两种扩展方法:

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)

c# extension-methods serialization

2
推荐指数
1
解决办法
1086
查看次数

标签 统计

c# ×1

extension-methods ×1

serialization ×1