代码改变世界

随笔分类 -  CLR Via C#

《CLR via C#》 之运行时序列化(3)

2013-06-08 21:56 by Oliver_Zhao, 247 阅读, 收藏,
摘要: 序列化成不同类型 [Serializable] public sealed class Singleton : ISerializable { private static readonly Singleton s_theOneObject = new Singleton(); public string Name = "Oliver"; public DateTime Date = DateTime.Now; private Singleton() { } public sta... 阅读全文

《CLR via C#》 之运行时序列化(2)

2013-06-06 23:43 by Oliver_Zhao, 208 阅读, 收藏,
摘要: 现在来说一下,格式化器是如何序列化类型的实例。格式化器如何序列化类型实例其实格式化器也没什么了不起的,它在内部调用了FormatterServices类的静态方法。FormatterServices类中只包含静态方法,而且这个类不能实例化。序列化一个应用了SerializableAttribute attribute的对象,步骤如下:格式化器调用FormatterServices.GetSerializableMembers(Type,StreamingContext); 这个方法利用发射获取public和private实例字段(标记NonSerializedAttribute attribu 阅读全文

《CLR via C#》之运行时序列化

2012-04-10 22:20 by Oliver_Zhao, 415 阅读, 收藏,
摘要: 今天,抽空完成下序列化的学习。主要是通过阅读Jeffrey Cichter的《CLR Via C#》。2012-04-10CLR via C# 之运行时序列化Serialize Quick Start我们通过一段代码来开始我们的学习之旅。 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Runtime.Serialization.Formatters.Binary; 6 using System.Text; 7 8 name... 阅读全文