博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CommunityServer]Serializer序列化类
阅读量:6237 次
发布时间:2019-06-22

本文共 735 字,大约阅读时间需要 2 分钟。

好久没有写博客了,今天终于有点时间来继续写写东西,今天我们来看一下Serializer序列化类,在CommunityServer中这个实例的存储方法很值得我们学习,在加入属性是在数据库中就不需要添加字段名。能够实现这种功能的做法就是通过序列化和反序列化来完成这项功能,将属性序列化为XML格式的文本存储与数据库中的一个NText字段中。
  我们来看看这个类的代码,上面有我的注释,获取有些地方说得不正确,那也没办法啦!
ContractedBlock.gif
序列化
 

  
在SiteSettings.cs中可以发现有些属性加有[XmlIgnore]标记,这是在序列化和反序列化时对该属性都不起作用,如SettingsID等在数据库中都已经存在字段名。从代码中我们可以看到,将一个NameValueCollection集合序列化和反序列化,其实键和值对存储在一个结构中,这个结构就是:
 1
None.gif
    
public
 
struct
 SerializerData
 2
ExpandedBlockStart.gif    
{
 3
ExpandedSubBlockStart.gif        
///
 
<summary>
 4
InBlock.gif        
///
 序列化NameValueCollection集合时用于保存Keys的字符串。
 5
ExpandedSubBlockEnd.gif        
///
 
</summary>
 6
InBlock.gif
        
public
 
string
 Keys;
 7
ExpandedSubBlockStart.gif        
///
 
<summary>
 8
InBlock.gif        
///
  序列化NameValueCollection集合时用于保存Values的字符串。
 9
ExpandedSubBlockEnd.gif        
///
 
</summary>
10
InBlock.gif
        
public
 
string
 Values;
11
ExpandedBlockEnd.gif    }


  其他的源代码都有解释了,应该能搞懂里面的东西!

本文转自网魂小兵博客园博客,原文链接:http://www.cnblogs.com/xdotnet/archive/2006/11/07/Serializer.html,如需转载请自行联系原作者

你可能感兴趣的文章
二叉树中找两个结点的最近的公共祖先结点
查看>>
Mac下sqlite3的学习总结
查看>>
基本配置实验
查看>>
使用适合的质量工具
查看>>
Linux 必学和要掌握的路径
查看>>
WBS分解
查看>>
centos5.6安装FTP
查看>>
http-equiv,很强大
查看>>
安装字体与ubuntu-tweak
查看>>
平均值方法:Avg API-Medoo使用指南
查看>>
centos6,7没有安装ifconfig命令的解决方法
查看>>
web页面禁用右键、禁用左键、禁止查看源代码、禁用触摸板
查看>>
Linux Kernel Device Tree 配置框架
查看>>
笔记:Python进行数据库文件导出备份
查看>>
Android开发学习记录(2015-05-19 23:05:34更新)
查看>>
一封高三老师,写给进入大学的学生的信,看完沉思良久
查看>>
解决checkbox选中但是不显示打钩的问题
查看>>
大数据公司如何实现标准化服务输出?NO.410华量软件
查看>>
bias和variance
查看>>
SpringBoot基础教程2-1-1 搭建RESTful风格Web服务
查看>>