- 博客(10)
- 资源 (5)
- 收藏
- 关注
转载 BinaryFormatter序列化实例(四)
将Voucher[] vouchers进行序列化时,可以看到Assembly和Type的信息只生成了一次,但是如果在vouchers中包含派生自Voucher的类的实例,也就是说vouchers是一个多态数组的时候,又是什么情况呢。如果BinnaryFormatter保存的是静态类型,那么反序列化时就不能完整恢复对象了。另一方面,因为BinaryFormatter.Serialize方法的参数是o
2011-12-21 16:07:03 6176
转载 BinaryFormatter序列化实例(三)
实际应用中,往往需要将Voucher批量保存到磁盘文件,然后发送到业务中心。可以将每个Voucher保存为一个文件,然后将多个文件顺序传输,但这并不是一种很好的方案。 BinnaryFormatter的Serialize方法需要传入一个Stream,这个Stream应当是可以持续写入的,因此将多个Voucher写入同一个stream中,应该是没有问题的。VoucherSerializer的
2011-12-21 16:06:04 3017
转载 BinaryFormatter序列化实例(二)
接下来,实现Voucher类的反序列化,代码如下: public Voucher Deserialize(string filename) { BinaryFormatter formatter = new BinaryFormatter(); Voucher voucher = null; FileStream fs = new FileStr
2011-12-21 16:04:48 2297
转载 BinaryFormatter序列化实例(一)
前几天写了一篇.NET序列化概述性的文章,有朋友说对技术的描述不够详细,因此准备写一系列文章,以一个实例为基础,详细描述各种序列化的使用方法和注意事项。这一系列文章是为不熟悉序列化的读者准备的,已用过序列化的可以只看一下每篇中加粗的一句话,感兴趣再阅读全文。文中的示例类Voucher和VoucherItem非常简化,实际中的凭证包含更多的信息。 财务系统中经常要与凭证打交道,在这篇文章里,
2011-12-21 16:03:26 2194
转载 DotNet 序列化学习笔记
DotNet中的序列化方法有三种:XML 序列化、SOAP 序列化和二进制序列化。若是序列化到文件的话,前两者生成的是 XML 文件,二进制序列化生成二进制文件。 跟序列化相关的两个类型: SerializableAttribute:指示一个类是可以序列化的。 ISerializable:使对象可以自己控制其序列化和反序列化的过程。 列表
2011-12-21 16:02:31 1092
转载 深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的
2011-12-21 14:04:34 771
转载 C#[Serializable]在C#中的作用-NET 中的对象序列化
为什么要使用序列化?最重要的两个原因是:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中。它还可用于按值将对象从一个应用程序域远程传递至另一个应用程序域。本文简要介绍了 Microsoft .NET 中使用的序列化。一.简介
2011-12-20 16:52:13 481
转载 C#泛型集合揽胜
集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须进行繁琐的类型转换。 b.使用自定义集合类 比较常见的做法是从C
2011-12-20 13:53:10 577
转载 c#数组
数组概述C# 数组从零开始建立索引,即数组索引从零开始。C#中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。声明数组时,方括号 ([])必须跟在类型后面,而不是标识符后面。在 C#中,将方括号放在标识符后是不合法的语法。int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C
2011-12-19 13:29:48 378
原创 一个疑惑
渐渐地没有了学习英语的动力,说实话英语现在还很菜,口语发音也不标准。 现在想想当初打算学习好英语的目的,计划这英语提高了可以找个待遇更好点的工作。这是最当初的想法,生活中发现,英语好了,可以看一些更好的英文材料,好多好东东都是是英文的;我喜欢欧美电影,国外的电影比较有思想,看个大片如果能直接听到好了,就不用老瞅着屏底滚动的汉字,更好的欣赏一下视觉效果;想接触他国文化,考汉语翻译,体会不
2011-12-08 14:41:44 481
advanced office password recovery pro 2.4
2011-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人