我们可以实现ISerializable接口来自定义串行化行为。这个接口只有一个方法GetObjectData。这个方法用于将对类对象进行序列化所需的数据填进SerializationInfo对象。你使用的格式化器(比如BinaryFormatter)将构造SerializationInfo对象,然后在序列化时调用GetObjectData。因此,你需要实现GetObjectData,让它添加你从类中选择的值,并且映射到你选择的字符串名。注意,如果类的父类也实现ISerializable,那么应该调用GetObjectData的父类实现。
给出例子:
序列化 - 实现ISerializableusing System;
序列化 - 实现ISerializable
using System.IO;
序列化 - 实现ISerializable
using System.Runtime.Serialization;
序列化 - 实现ISerializable
using System.Runtime.Serialization.Formatters.Binary;
序列化 - 实现ISerializable[Serializable]
序列化 - 实现ISerializable
public class Insect : ISerializable
}

Insect.bin包含以下信息:
DISerializable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Insect
CommonName ID# Meadow Brown

相关文章:

  • 2021-07-18
  • 2022-12-23
  • 2021-06-10
  • 2021-10-10
  • 2021-08-03
  • 2021-12-16
猜你喜欢
  • 2022-12-23
  • 2021-07-20
  • 2021-08-22
  • 2022-12-23
  • 2021-09-25
  • 2021-06-14
  • 2022-02-02
相关资源
相似解决方案