- 0
- 0
- 约1.27万字
- 约 9页
- 2016-09-21 发布于重庆
- 举报
C编程中的序列化
C#编程中的序列化
序列化
?序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
几种序列化技术:? ? ? 1)二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对 象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。? ? ? 2)XML 序列化仅序列化公共属性和字段,且不保持类型保真度。当您要提供或使用数据而不限制使用该数据的应用程序时,这一点是很有用的。由于 XML 是一个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。SOAP 同样是一个开放式标准,这使它也成为一个颇具吸引力的选择。
? ? ?3)使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档(或者JSON格式)。常应用于WCF通信。
BinaryFormatter
序列化可被定义为将对象的状态存储到存储媒介中的过程。在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确复本。
1、使一个类可序列化的最简单方式是按如下所示使用 Serializable 属性标记。
2、有选择的序列化
? ? ?通过用 NonSerialized 属性标记成员变量,可以防止它们被序列化
3、自定义序列化
? ? ?1) 在序列化期间和之后运行自定义方法最佳做法也是最简单的方法(在 .Net Framework 2.0 版中引入),就是在序列化期间和之后将下列属性应用于用于更正数据的方法:OnDeserializedAttributeOnDeserializingAttributeOnSerializedAttributeOnSerializingAttribute
具体事例如下:
// This is the object that will be serialized and deserialized.
[Serializable()]
public class TestSimpleObject
{
// This member is serialized and deserialized with no change.
public int member1;
// The value of this field is set and reset during and
// after serialization.
private string member2;
// This field is not serialized. The OnDeserializedAttribute
// is used to set the member value after serialization.
[NonSerialized()]
public string member3;
// This field is set to null, but populated after deserialization.
private string member4;
// Constructor for the class.
public TestSimpleObject()
{
member1 = 11;
member2 = Hello World!;
member3 = This is a nonserialized value;
member4 = null;
}
public void Print()
{
Console.WriteLine(member1 = {0}, member1);
Console.WriteLine(member2 = {0}, member2);
Console.WriteLine(member3 = {0}, member3);
Console.WriteLine(member4 = {0}, member4);
}
[OnSerializing()]
internal void OnSerializingMethod(StreamingContext context
您可能关注的文档
- 高中物理选修静场单元检测.doc
- 高中生物2轮高效复习全套之生物专题达标检测4.doc
- 高中生物必修1复习要点.doc
- 高中生物必修二第1章第2节课时活页训练.doc
- 高中级专业技术人员职称评审赋分标准.doc
- 高中英语作文写作模式经典句子总结.doc
- 高中英语作文提分攻略英语作文逻辑连贯的必杀技过渡词.doc
- 高中英语作文的万能开头和关联词.doc
- 高中英语定语从句及名词性从句混合练习题.doc
- 高中英语必修5(北师大版)Unit13People知识点总结.docx
- 克林贝格锥齿轮技术BC12 B27 CS200 说明书用户手册.pdf
- Fengfei广告系统说明书用户手册.pdf
- Megawin兆威8051-Based MCU品类信息型号信息用户手册.pdf
- Microchip Technology Company串行四I O(SQI)闪存SST26VF016 SST26VF032数据手册.pdf
- 英克司兰中文名称品类信息型号信息说明书用户手册.pdf
- Easecurities易盛证券金融 证券5.3用户手册.pdf
- SLAMTEC用户手册S1用户手册.pdf
- Wanda Information Co., Ltd. 用户手册 说明书 三次修订稿 说明书用户手册.pdf
- Wanda Info. 说明书四次修订稿用户手册.pdf
- BOSCH CAN FD协议模块 CAN FD 说明书用户手册.pdf
最近下载
- 乐购Hymall连锁超市-收银员排班工具使用作业规范.pdf VIP
- 黑龙江省教育学会示范性高中专业委员会2025届高三下学期第一次模拟考试 语文 含答案.docx VIP
- ISPE第五部分试车与确认课件.pptx VIP
- 【2026年春新教材】部编版小学二年级下册道德与法治全册教案(教学设计).docx
- 数学北师大版八年级下册多边形的内角和教学设计.docx VIP
- 守正创新担使命,凝心聚力启新程——校长在2026年春季学期全体教师开学大会上的讲话.docx
- 《体育课程与教学论》全套PPT课件.pptx VIP
- 第一章税收初阶资料.ppt VIP
- 数据接口安全管理制度.docx VIP
- 道路车辆 电气及电子设备的环境条件和试验 第3部分:机械负荷.docx VIP
原创力文档

文档评论(0)