什么是[可序列化],何时应使用?
我发现某些类使用该[Serializable]
属性。
- 它是什么?
- 我什么时候应该使用它?
- 我会得到什么好处?
回答:
它是什么?
在.Net Framework应用程序中创建对象时,无需考虑数据如何存储在内存中。因为.Net
Framework会为您解决这一问题。但是,如果要将对象的内容存储到文件,将对象发送到另一个进程或通过网络传输它,则必须考虑对象的表示方式,因为您需要转换为其他格式。这种转换称为SERIALIZATION。
用于序列化
序列化允许开发人员保存对象的状态并根据需要重新创建它,从而提供对象的存储以及数据交换。通过序列化,开发人员可以执行一些操作,例如通过Web服务将对象发送到远程应用程序,将对象从一个域传递到另一个域,将对象作为XML字符串通过防火墙传递,或维护安全性或特定于用户的行为。跨应用程序的信息。
应用于SerializableAttribute
一种类型,以指示可以序列化此类型的实例。应用SerializableAttribute
即使类还实现了ISerializable
控制序列化过程的界面。
SerializableAttribute
默认情况下,将序列化由标记的类型中的所有公共和私有字段,除非该类型实现ISerializable
接口以覆盖序列化过程。默认的序列化过程不包括标有的字段NonSerializedAttribute
。如果可序列化类型的字段包含特定于特定环境的指针,句柄或某些其他数据结构,并且无法在其他环境中进行有意义的重构,则您可能希望将其应用于NonSerializedAttribute
该字段。
有关更多详细信息,请参见MSDN。
任何不将某些内容标记为可序列化的原因
传输或保存数据时,只需要发送或保存所需的数据。因此,将减少传输延迟和存储问题。因此,您可以在序列化时选择不必要的数据块。
以上是 什么是[可序列化],何时应使用? 的全部内容, 来源链接: utcz.com/qa/402612.html