gpt4 book ai didi

.net - NET/银光 : Immutable objects and the DataContractSerializer

转载 作者:行者123 更新时间:2023-12-02 04:04:54 29 4
gpt4 key购买 nike

有什么方法可以让 DataContractSerializer 与不可变对象(immutable对象)很好地配合使用?

在很多情况下,公共(public) setter 根本不合适,但我仍然需要一种方法来序列化它们。目前我正在手写可以传递给构造函数的 XML,但这很容易出错并且很讨厌。

最佳答案

数据契约序列化的本质是被“序列化”的对象被视为黑盒子。序列化程序只能使用在对象表面上可见的内容。事实上,说对象被序列化是不准确的,它是被序列化的数据合约。

一种方法是使 setter 内部而不是公开。然后,将 InternalsVisibleToAttribute 添加到指定 System.Runtime.Serialization 程序集的程序集。使用这种方法可以对成员可访问性提供一些控制。

关于.net - NET/银光 : Immutable objects and the DataContractSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236196/

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