对像在序列化时一个奇怪的问题
我定义好了一个类型:Document,它的每个实例在一个对应的子窗口中进度编辑,然后用BinaryFormatter序列化到文件!以前没什么问题,但今天突然在保存(即序列化)的时候提示我说这个程序集的ChildForm(即我的子窗口的类型)类型未被标记为可序列化!
郁闷了一天,终于找到了点头绪:如果我在子窗口中关联的Document对象的某个事件的事件处理程序,就会出现上述问题,比如:在子窗口的Load事件中
...
Document doc=new Document();
doc.SavedChanged+=new EventHandler(doc_SavedChanged);
...
private void doc_SavedChanged(object sender,EventArgs e)
{
.....
}
只要不在子窗口中关联Document类型的事件处理程序,那将这个类型的实例序列化时就不会出现上面提到过的问题!怎么回事呢?