c# - Serialization 中传递的数据是什么? (二进制序列化)

标签 c# serialization

在序列化(Binary Serialization)中传输的是什么数据?类(对象)的实例或分配给该对象属性的值。

我想知道在序列化过程中基本上发生了什么?我的意思是一个对象被转换成它的目标文件或序列化中的任何东西。但是怎么办?在此过程中遵循哪些步骤?

有人可以帮忙吗?

周杰...

最佳答案

二进制序列化正在对对象进行快照并将其序列化。这意味着所有未标记为 NonSerializable 的私有(private)字段都将使用它们的值进行序列化。 对象层次结构中使用的所有对象都必须是可序列化的。 您应该将 [field:NonSerializable] 属性放在事件上,这样事件处理程序也不会被序列化:http://bytes.com/groups/net-c/250944-nonserialized-attribute-events#post1013968

请记住,在反序列化对象时,您必须在与序列化对象时相同的程序集中具有完全相同的对象(相同意味着相同的程序集信息)。如果没有,您可以使用 SerializationBinder 类,这样您就可以重置将对流进行 sanitizer 的类型。

关于c# - Serialization 中传递的数据是什么? (二进制序列化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929458/

相关文章:

c# - 无法识别 Entity Framework 更 retrofit 配模型

c# - 一个关于 Resharper rampup 的好视频

c# - TreeView.ItemContainerGenerator.ContainerFromItem 为非根项返回 null。解决方法?

c# - 将 blazor 项目正确发布/部署到 github 页面

reactjs - 更改日期时间字段以返回 django rest 框架中的 unix 时间戳

serialization - NEAR 是否需要 Serialize 和 BorshSerialize?

c# - 有没有办法静默安装 vb6 或 .NET(最好是 C#)应用程序?

java - 是否有可序列化的标准闭包接口(interface)?

php - 如何在 $_SESSION 中序列化/保存 DOMElement?

java - XStream 不会调用 readObject()