序列化.NET对象

时间:2012-11-28 15:51:21

标签: c# serialization

要保存我的应用的所有设置,我在文件中使用序列化,如本教程中所述: http://www.codeproject.com/Articles/1789/Object-Serialization-using-C

所以我创建了一个名为Keyboard

的类
[Serializable()]
class Keyboard : ISerializable
{
    private DeviceInf _infoKbd;
    private Screen _displayAttached;
}

当我启动程序时,应用程序在序列化期间崩溃,说屏幕不可序列化。所以我的问题是:如何序列化一个在开始时不可序列化的.NET?

2 个答案:

答案 0 :(得分:1)

System.Windows.Forms.Screen 对象未标记为Searializable,因此.NET不会为您做繁重的工作。你可以写自己的序列化器。可以在http://www.codeproject.com/Articles/86503/Saving-the-state-serializing-a-Windows-Form找到序列化表单的示例。如果您不想这样做,可以将设置保存在和app.config文件中。

答案 1 :(得分:0)

我怀疑你必须使DeviceInfo和Screen也可以序列化。