要保存我的应用的所有设置,我在文件中使用序列化,如本教程中所述: http://www.codeproject.com/Articles/1789/Object-Serialization-using-C
所以我创建了一个名为Keyboard
的类[Serializable()]
class Keyboard : ISerializable
{
private DeviceInf _infoKbd;
private Screen _displayAttached;
}
当我启动程序时,应用程序在序列化期间崩溃,说屏幕不可序列化。所以我的问题是:如何序列化一个在开始时不可序列化的.NET?
答案 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也可以序列化。