【发布时间】:2016-08-07 15:45:20
【问题描述】:
我正在上以下课程:
[DataContract]
class ExampleClass
{
//Properties
[DataMember(Name = "method")]
private const string method = "Example Constant";
...
...
DataContractJsonSerializer 似乎没有在 JSON 输出中包含常量“方法”。
如何保持成员不变,并让类序列化它?
谢谢。
【问题讨论】:
-
如果您将常量设为公开而不是私有,它仍然会失败吗?不过,另一个麻烦可能是常量的值——这与常量 IS 有关——除了在初始化程序中之外,不能真正设置在任何地方。
-
我真的认为你做不到。一件事是序列化,这也许可以做到,但反序列化是不可能的。 DTO 应该包含 getter 和 setter。
const没有二传手。 -
@EdPlunkett 是的,即使它是公共的,它仍然不会序列化常量。如果我删除“const”,它会被序列化。此外,序列化适用于非常量私有成员。
标签: c# .net json serialization