我可以/我应该在C#类中序列化常量变量吗?

Jas*_*son 6 c# serialization

我正在ISerializable为我的班级实现界面.

我在类中有一个常量变量,如:

public const decimal Cost = 3.2M
Run Code Online (Sandbox Code Playgroud)

当我实现该GetObjectData方法时,我/我应该将此变量序列化吗?

Jon*_*eet 20

当我实现GetObjectData方法时,我/我应该将此变量序列化吗?

绝对不.

即使你确实把它写出来了,但是当你再次读回它时,你不能改变常量的值.

更一般地说,你根本不应该序列化静态字段(并const暗示static).静态的任何东西都不是实例状态的一部分,而是您尝试序列化的实例中的数据.