.net中的序列化

不同的序列化技术
二进制序列化
  • 保存类型保真。
  • System.Runtime.Serialization 包含可用于序列化和反序列化对象的类
xml和Soap
  • 只会序列化公共属性和字段,并且不会保留类型保真
  • System.Xml.Serialization 用于将对象序列化为Xml格式的文档的类
  • 二进制和xml序列化的实现
  • 基本自定义
  • 基本序列化使用.Net自动序列化对象,唯一要求是类应用SerializableAttribute 特性
  • 在自定义序列化中,可以精确指定要序列化的对象以及具体执行方式。类必须被标记为SerializableAttribute,并且实现ISeriablizable接口
Json序列化
  • 只序列化公共属性,不会保留类型保真
  • System.Text.Json 包含将对象序列化为Json格式的类
ISerializable说明
  • 通过 ISerializable 接口,类可以执行其自己的序列化行为。
Serializable 说明
  • 当你序列化一个对象时候,如果没有标注这个特性就会引发异常【可能序列化的任何类都必须标记为SerializableAttribute】
  • 你可以实现ISerializable接口来替代序列化进程
  • 这个特性默认是序列化所有私有和公共字段
  • 可以通过NonSerializedAttribute特性来排除某一个字段
  • 请注意,无法继承 Serializable 属性。 如果从 MyObject 派生新类,新类也必须标记为以上特性,否则将无法序列化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值