是否建议使用C#序列化私有成员?

时间:2015-02-08 17:51:39

标签: c# serialization access-modifiers

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

1 个答案:

答案 0 :(得分:4)

序列化的目的是将某些内容放入可以使用完全相同的状态重新创建的格式中。为了能够重新创建具有完全相同状态的对象,您还需要能够重新创建“内部状态”(也就是私有成员所持有的值),这对于反序列化过程来说太过分了。

不推荐在C#中序列化私人成员, 是必需的