/Files/zhuqil/ObjectSerializer.zip
导言
MarshalByRefObject和XML的一些属性弄得一团糟。
背景:
如果你不熟悉.NET Reflection 命名空间,在读这篇文章之前,我建议你看看一些关于反射的教程,否则这些代码看起来比较神秘和困惑。
使用代码:
交换。
根据这个思路,提供给用户的序列化类,我们需要有两个公有的方法:
public string Serialize(object input);
public object Deserialize(string input);
代码
result;
}
}
}在更普遍的情况下,我们也可以存储包含的类型装配信息的程序集。使用第二个XmlAttribute我们可以连接到该实例的节点。这样,在反序列化时,我们可以加载,并采取了我们的序列化的对象类型的集会。我们采取走出这个序列组装对象类型。我们可以做,在每一个阶段,但在递归记住了你的XML文件的大小大的时候这个限制,所以你应该问自己是否真的需要这种灵活性,或者如果你能忍受的限制,所有过程知道您的类型了。 下一步,我们看看 SerializeRecursive 方法,看他如何处理不同的情况。
Primitives
Enum Types
List Types
Dictionary Types
代码
));
}
}
}
}
}
}方法不言自明。你能找到注释在这篇文章附加的代码里面.
兴趣点:
<span 的类型,因此我建议不要将它使用在项目里面。
节本上这个序列化类能处理任何一个只包含 primitives, enums, strings, Lists 和 Dictionaries 的的对象
请记住,有一些对象是不能序列化的,例如:Forms, Controls, Type 或者 Assembly 对象,如果你想在你的项目中使用这种方法,你应该相应的处理这些类型。
翻译:http://www.codeproject.com/KB/cs/ObjectSerializer.aspx
共同学习,写下你的评论
评论加载中...
作者其他优质文章