我需要创建一个Serializable类.
在这个类中,我有一个MyGuid只读属性,我想要可序列化但不可反序列化(属性在后备字段中初始化).
使用基本序列化.NET功能,你知道,有一个reandonly属性使反序列化失败,因为它不能反序列化readonly属性.
因此,我决定使用支持字段创建一个公共get-set MyGuid属性,并使setter不执行任何操作:
在这个类中,我有一个MyGuid只读属性,我想要可序列化但不可反序列化(属性在后备字段中初始化).
使用基本序列化.NET功能,你知道,有一个reandonly属性使反序列化失败,因为它不能反序列化readonly属性.
因此,我决定使用支持字段创建一个公共get-set MyGuid属性,并使setter不执行任何操作:
[Serializable] public class Task : ITask { private readonly Guid m_guid = Guid.NewGuid(); public MyGuid Guid { get { return m_guid; } set { /*Empty setter!*/ } } }
现在我不想在我脚下射击……
我可以通过某种方式将MyGuid属性的setter设置为“可弃”或“禁用”?
如果我尝试使用setter,Visual Studio警告我会很好.
或者,有一种更好的方法来管理这种需求?
谢谢!
编辑:在这里找到一些东西:Serializing private member data我正在读…
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。