首页 > 编程语言 >C#中的对象序列化

C#中的对象序列化

时间:2023-05-15 16:23:35浏览次数:33  
标签:持久 C# 子类 用到 对象 序列化

其实在以前的开发过程中,除了做爬虫用到json的时候用到序列化之外,其它地方我很少用到序列化。

像我所处的上位机开发,硬件软件参数会经常发生更改,如果使用序列化,就会导致配置文件升级时候出现问题。

至少以我目前的水平,还不知道其它更好的解决方案,

 

言归正传,在最近集成一个医院PACS接口时,里面字段太多了,我本来想自己写反射代码生成请求的XML,但后面想想,算了,直接用序列化吧。

这里就对C#中的序列化做个总结,日后再用到也有个参考。

 

正文

本文介绍了C#中的序列化及4种序列化对象的方法(BinaryFormatter、SoapFormatter、XmlSerializer、JsonSerializer)

 

对象序列化

序列化是指持久化一个对象的状态到流(如文件流和内存流)的过程。被持久化的数据次序包括以后所有需要用来重建(即反序列化)对象状态所必需的信息。使用序列化,用最小花费来保存各种格式数据就变得轻而易举了。

 

对象图的作用

当一个对象被持久化到流时,所有的相关数据(基类、包含的对象等)也会被自动序列化,因此,假设我们想持久化一个子类,那么继承链接(即父类、子类的子类)上的所有数据都会被包括进来,也就是对象图。

 

标签:持久,C#,子类,用到,对象,序列化
From: https://www.cnblogs.com/zhaotianff/p/17402238.html

相关文章

  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https:/......
  • 将CSV导入到MySQL数据库
    参考:https://blog.csdn.net/fwdwqdwq/article/details/126081152.使用一下命令查看是否允许从外部路径导入文件mysql>showvariableslike"%secure%";+--------------------------+-------+|Variable_name|Value|+--------------------------+-------+|r......
  • sql server 中 COALESCE()函数的使用
    一、sqlserver 中coalesce函数的介绍COALESCE(expression,value1,value2……,valuen); COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。如果expression不为空......
  • threadlocal使用场景
    1 在拦截器中将用户信息放到threadlocal中,后续业务方法直接从threadlocal中获取,这样做可以简化用户信息在方法间来回传递2 将类的成员变量放到threadlocal中,这个类在单例模式下也不会有线程安全问题.注意:使用完threadlocal后要调用remove()防止内存泄漏......
  • Java对象和json对象
    java对象和json对象转换接口classPersion1{@SerializedName("name")@ExposeStringname;publicvoidsetName(Stringname){this.name=name;}@OverridepublicStringtoString()......
  • android.content.res.Resources$NotFoundException: String resource ID #0x4
    问题描述:android.content.res.Resources$NotFoundException:StringresourceID#0x4翻译为:android.content.res。资源$NotFoundException:字符串资源ID#0x4。原因:类型转换错误,请查看报错的地方和传过来(或是从接口获取的类型)的类型是否一致......
  • java.lang.IllegalArgumentException: Illegal URL:
    问题描述: java.lang.IllegalArgumentException:IllegalURL:翻译为:IllegalArgumentException:非法网址:原因:网址错误,网址前面加http:// 后面加/ ;(如下图) ......
  • 如何安全退出已调用多个Activity的Application
    如何安全退出已调用多个Activity的Application?思路如下:建一个工具类,在里面管理activity的添加,移除和退出app的操作;第一步,创建一个名字为ActivityManage的工具类,里面有添加activity,移除activity和退出activity的方法,代码如下:publicclassActivityManage{publ......
  • ChatGPT Plugin开发setup - Java(Spring Boot) Python(fastapi)
    记录一下快速模板,整体很简单,如果不接auth,只需要以下:提供一个/.well-known/ai-plugin.json接口,返回openAI所需要的格式提供openAPI规范的文档CORS设置其他的和普通的web开发类似.本地开发就直接使用localhost即可,前几天官方localhost无法联通,最近应该修复了.要让GPT......
  • react状态管理store用法二: 使用Hooks 配置redux
    react最通用的状态管理方案就是的redux,下面介绍通过Hooks的方式使用reduxnpminstallreact-redux@reduxjs/toolkit-S 创建store1.新建store文件夹,在下面新建index.tsx文件和slices文件夹,其中slices文件夹用来定义需要放进store的数据结构和方法slices文件夹下新建app......