原文:【.net 深呼吸】序列化中的“引用保留”

假设 K 类中有两个属性 字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据。 看看下面两个类。 假设 ContactInfo 表示联系方式,帅哥有两个联系方式。 在上面代码中,帅哥实例的两种联系方式都引用了同一个 ContactInfo 对象。如果把该帅哥实例序列化。 就会得到以下XML文档: 从上面生成的XML文档可知,引用的尽管是同一个实例,但很显 ...

2016-12-01 10:05 5 844 推荐指数:

查看详情

【.NET深呼吸】如何反序列化动态JSON

.net本身除了支持SOAP、XML、二进制等序列化和反序列化,后来也加入了对JSON的序列化的支持。然而,在实际开发,常常会遇到结构不确定的JSON对象,这些对象可能是其他代码动态生成的,你事先无法估计它的结构,甚至它的字段名字是动态改变的。 这种情况下,我们很难用一个固定的类来进行 ...

Tue Sep 01 19:54:00 CST 2015 8 3362
【.NET 深呼吸】.net core 的轻量级 Composition

记得前面老周写过在.net core 中使用 Composition 的烂文。上回老周给大伙伴们介绍的是一个“重量级”版本—— System.ComponentModel.Composition。应该说,这个“重量级”版本是.NET 框架的“标配”。 很多东西都会有双面性,MEF 也一样 ...

Sun Sep 09 20:06:00 CST 2018 5 1343
【.net 深呼吸】WPF 的父子窗口

与 WinForm 不同,WPF 并没有 MDI 窗口,但 WPF 的窗口之间是可以存在“父子”关系的。 我们会发现,Window 类公开了一个属性叫 Owner,这个属性是可读可写的,从名字上我们 ...

Thu Sep 14 20:08:00 CST 2017 3 3525
【.net 深呼吸】写入日志文件

记录日志,一方面可以把日志写入系统的日志存储,可在“事件查看器”窗口中查看;如果不喜欢写到系统的日志文件,也可以写到自己定义的文件。 其实,日志文件就是文本文件,可能有朋友会想到用写入文本文件的方式来写日志。当然,这样做也是可以的,不过,.NET 类型库提供了两个专用记录信息的类 ...

Sun Jun 19 19:16:00 CST 2016 5 1839
【.NET深呼吸】元组数据(Tuple)

各位观众,大家好,欢迎收看由火星电视台直播的《老周吹牛》节目,注意:本节目没有任何技术含量,如果您没有兴趣,请砸掉电视机。 今天说一下System命名空间下的一个数据类型——Tuple,翻译过来叫“ ...

Tue Sep 15 01:45:00 CST 2015 1 1980
【.net 深呼吸】项目中是否有必要删去多余的引用

很多大伙伴们常常会苦思一个问题:项目代码中用不到的引用,是不是应该删除,以避免代码在编译后存在太多的无意义引用? 其实,这个问题,你完全可以自己去应证的,咋应证呢?知道反射吗,对了,只要你知道这玩意儿,那事情就好 do 了。 我建了一个控制台应用项目,然后,如下图,我在【引用】节点下添加 ...

Sat Feb 11 20:15:00 CST 2017 3 1305
【.NET深呼吸】清理对象引用,有一个问题容易被忽略

大家知道,托管代码一个重要的特点是自动管理内存,即我们常说的垃圾回收机制,那些高大上的理论我就不重复了,有兴趣的朋友可以翻书。我这个有个毛病——不喜欢很严肃地去说一些理论的东西,所以我不多介绍了。 一般而言,当代码执行超出某个变量的有效范围后,或者不再引用某个对象实例时,该实例会发生析构,垃圾 ...

Mon Feb 09 00:06:00 CST 2015 6 1292
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM