序列化 - 实现ISerializable
给出例子:
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
public class Insect : ISerializable
{
private string name;
private int id;
public Insect(string name, int id)
{
this.name = name;
this.id = id;
}
public override string ToString()
{
return String.Format("{0}:{1}", name, id);
}
public Insect(){}
public virtual void GetObjectData(SerializationInfo s, StreamingContext c)
{
s.AddValue("CommonName", name);
s.AddValue("ID#", id);
}
private Insect(SerializationInfo s, StreamingContext c)
{
name = s.GetString("CommonName");
id = s.GetInt32("ID#");
}
}
class ImpISerialApp
{
static void Main(string[] args)
{
Insect i = new Insect("Meadow Brown", 12);
Stream s = File.Create("Insect.bin");
BinaryFormatter b = new BinaryFormatter();
b.Serialize(s, i);
s.Seek(0, SeekOrigin.Begin);
Insect j = (Insect)b.Deserialize(s);
s.Close();
Console.WriteLine(j);
}
}
Insect.bin包含以下信息:
DISerializable, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Insect
CommonName ID# Meadow Brown
转载于:https://www.cnblogs.com/wdxinren/archive/2004/10/23/55826.html
序列化 - 实现ISerializable相关推荐
- Serializable java序列化
Bean Serializable Interface 的接口让BEAN可以串行化,将其变成一个可保存为以后使用的二进制流.当一个BEAN被系列化到磁盘上或者其他任何地方,其状态被保存起来,其中的属性 ...
- C#序列化与反序列化方式简单总结
序列化和反序列化 相关类: System.SerializableAttribute特性(或称为属性), System.Runtime.Serialization.ISerializable(自定义序 ...
- .net byte转java byte_CVE20200688的武器化与.net反序列化漏洞那些事
0x00 前言CVE-2020-0688是Exchange一个由于默认加密密钥造成的反序列化漏洞,该漏洞存在于Exchange Control Panel(ecp)中,不涉及Exchange的工作逻辑 ...
- C#自定义序列化反序列化与 ISerializable 接口
ISerializable 接口 MSDN注解:允许对象控制其自己的序列化和反序列化过程. ISerializable 接口的定义: public interface ISerializable {v ...
- ISerializable接口-控制序列化与反序列化(回答C#不需要实现此接口也可以序列化,那么实现该接口的意义是什么?)
https://www.cnblogs.com/fanfan-90/p/12038928.html (回答C#不需要实现此接口也可以序列化,那么实现该接口的意义是什么?) ISerializable接 ...
- C# 的三种序列化方法
序列化是将一个对象转换成字节流以达到将其长期保存在内存.数据库或文件中的处理过程.它的主要目的是保存对象的状态以便以后需要的时候使用.与其相反的过程叫做反序列化. 序列化一个对象 为了序列化一个对象, ...
- DataRow的序列化问题
来源:CSDN 作者:kroll 在.net里,DataRow类型的对象是不支持序列化的,那么如果在一个需要序列化的对象中含有DataRow类型的字段该怎么办呢?呵呵,幸好Datatable是支 ...
- 菜菜从零学习WCF十(序列化)
前言 本次课程的主要内容包括以下四格部分:DataContractSerializer.序列化.反序列化.XmlSerializer 第一部分--DataContractSerializer Wind ...
- 深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)
序列化概述: 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象 ...
最新文章
- 如何在Visual Studio中“添加现有项”整个目录结构?
- .html(),.text()和.val()的差异总结
- GDB调试及其调试脚本的使用
- 原理图生成pdf 汉字不显示_EPLAN官方视频系列之二丨原理图设计智能功能(1)...
- info - 阅读 info 文档
- java根据数据库自动生成代码
- 通过Rman catalog 创建及管理Oracle数据库备份
- StringUtil工具类之去除所有的空白字符
- Devops知识技能树(译)
- hao123劫持浏览器主页
- 除了性以外,有没有快速、高效的释放压力、清空大脑的方式?
- 【数智化人物展】网智天元莫倩:“感、联、知、控”,四步方可打造企业数智化转型升级路径...
- VS调用大恒相机sdk实时显示图像并进行图像处理+OPENCV
- 自己撸一个Wordcount
- c语言 乘法运算符,C 乘法运算符
- 烤仔观察 | 从蓝海到红海,科技巨头们和他们元宇宙世界
- Java线程池几个参数的理解
- 国内十大活跃报表 BI 产品深度点评
- 百度关键词排名查询源码_百度推广优化技巧,百度搜索关键词排名优化
- 神经元的结构图手绘,神经元图片手绘图
热门文章
- eclipse git提交代码_来看看大厂的Git提交规范,千万别乱提交代码哦...
- linux shell 等待输入_linux运维——基础篇
- python函数的传递方式有哪些_Python全栈工程师(函数的传参)
- 频率响应函数与数字滤波实验_WKD3419振动测试与控制教学实验系统
- android 多手指触摸屏,AIR Android:关于多点触摸
- 学什么就业前景好的专业_新能源汽车专业学什么?其就业前景如何?
- 知乎大神深入解析:单片机晶振脚原理是什么?
- 不懂电容原理?那是你没看到这些动图
- 来了,单片机最强科普总结!
- 「第三篇」全国电子设计竞赛,这些你必须知道的比赛细节,文末附上近十年电赛题目下载...