推荐或不推荐在 C# 中序列化私有成员?

Serializing private members in C# recommended or not?

通过Binary和Datacontract序列化器,我们也可以序列化私有成员。 它是否违反了 oops 原则?我的意思是通过序列化我们可以将对象保存在文件和磁盘中,然后在反序列化后任何人都可以重用它。我不知道,我的想法是正确的。请指正。

序列化的目的是将某些内容置于一种格式中,以便可以以完全相同的状态重新创建它。为了能够重新创建具有完全相同状态的对象,您还需要能够在反序列化过程中重新创建 "internal sate"(又名私有成员持有的值)。

因此不建议在 C# 中序列化私有成员,这是必需的