反射和序列化是不同的:
反射:是指程序可以访问、检测和修改它本身状态或行为的一种能力,程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象,可以通过反射动态地创建类型的实例,将类型绑定到现有的对象,或从现有对象中获取类型,然后可以调用类型的方法或访问其字段和属性。
c#中反射,实际上就是动态使用类库,可以通过名称来引用类及其成员。
序列化序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到xml中,或一个磁盘文件中。
序列化: 序列化是将对象转换为容易传输的格式的过程,比如转化为二进制、xml、json从而在网络中传输。与序列化相反的是反序列化,它将流转换为对象,也就是将在序列化过程中所产生的二进制串、xml、json等转换成数据结构或对象的过程。将序列化和反序列化两个过程接合起来,可以轻松地存储、传输数据。
什么是序列化与反序列化?
序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。
把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
常见的序列化的方法:
1、binaryformatter
2、soapformatter
3、xml序列化
以上就是c反射和序列化是什么的详细内容。