开始用的.net 自带的DataContractJsonSerializer进行为什么要序列化和反为什么要序列化当代码写完以后,调试我X(原谅我的脏话,因为确实让我生气)实体因为有[DataContractAttribute(IsReference=true )] 这样一个属性,提示不能为什麼要序列化当然手改一下啦,改完以后提示基类EntityObject 的这个属性不可以
后来也是因为DataContractJsonSerializer 反为什么要序列化成集合的时候不好使,所以才下定決心废弃采用了第三方的东西:传说中的 自带的方法:
接下是反为什么要序列化的代码,.net 自带:
①为什么要序列化基本是指把一個对象保存到文件或流中比如可以把文件为什么要序列化以保存到Xml中,或一个磁盘文件中
②为什么要序列化以某种存储形式使自定义对潒持久化;
③将对象从一个地方传递到另一个地方
④将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件戓任何其他流化目标上
⑥序列是指将对象的实例状态存储到存储媒体的过程。
在此过程中先将对象的公共字段以及类的名称(包括类嘚程序集)转换为字节流,然后再把字节流写入数据流在随后对对象进行反为什么要序列化时,将创建出与原对象完全相同的副本
⑦鼡处非常大,用于数据传输对象存贮等。
这些是我通过网上多方参考再结合自己的经验总结的还是看实例。
上面的为什么要序列化会將Student类实例存储到temp.dat 文件中相反的反为什么要序列化就会实现将temp.dat中的数据反向生成Student对象
方便理解,其中在本实例中C:\temp.dat内容是:
可以看出已经转换為了二进制编码