【发布时间】:2010-12-17 23:03:18
【问题描述】:
我正在构建一个需要将对象保存到文件以保存用户数据的小应用程序。 关于我对这个文件的序列化,我有两个问题:
我正在创建的对象有一些公共属性和一个事件。我将
[Serializable]属性添加到我的对象,然后意识到我无法序列化包含事件的对象。 然后我发现我可以在我的事件[field:NonSerialized]上方添加一个属性,它会起作用。这是最好的方法吗,还是我应该尝试在没有任何事件的情况下构建我的 Serializable 对象?我正在序列化的对象保存了有关应用程序的一些用户设置。这些设置不够敏感,无法在文件中加密它们,但我仍然不希望在不打开我的应用程序的情况下手动篡改它们。当我通过
Serialize()方法使用普通的BinaryFormatter对象将我的对象序列化到一个文件时,我在保存它的文件中看到了.net 对象类型的可读名称。有没有办法让某人在不使用我的程序的情况下对其进行逆向工程并查看保存的内容?有没有办法让某人构建一个小型应用程序并找出如何反序列化此文件中的信息?如果是这样,我将如何隐藏此文件中的信息?
在这种情况下,在将对象序列化为文件时,我还应该遵循其他提示/建议/最佳实践吗?
提前致谢!
【问题讨论】:
标签: c# serialization