gpt4 book ai didi

.net - 为什么类在 .Net 中默认不可序列化?

转载 作者:行者123 更新时间:2023-12-03 10:56:51 25 4
gpt4 key购买 nike

开发人员必须通过显式使用 SerializableAttribute 来“选择加入”以使类可序列化。 .如果类默认可序列化,会出现什么问题?

最佳答案

我会假设类默认情况下是不可序列化的,因为不能保证使用反射将对象的状态转储到流中是有意义的。 如果您的对象拥有与数据库或通信端口的开放连接怎么办?每当通过反序列化前一个对象的实例来构造新对象时,您最终都会得到一个无用的对象。

另外,您必须考虑到,只要一个类是可序列化的,运行时就会坚持它的所有成员变量也是可序列化的,除非它们被明确标记为另外的。使可序列化成为开发人员的选择功能要容易得多,而不是强制他们选择退出某些成员。

最后,您的类中可能有某些字段包含私有(private)或敏感信息。必须将类显式标记为可序列化可确保您不会意外地将某些东西的细节(无论是数据还是您的实现)暴露给您不打算公开的世界。

关于.net - 为什么类在 .Net 中默认不可序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4408909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com