У меня есть простой класс, который помечен как Serializable, и у него есть событие.Я пытался пометить элемент события как NonSerialized, однако компилятор жалуется.Тем не менее, когда я иду сериализовать экземпляр класса, BinaryFormatter выдает исключение, что событие не сериализуемо.Значит ли это, что вы не можете сериализовать классы, которые имеют события?Если это так, то компилятор должен сказать об этом заранее.
Stream file = File.Open("f", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
object obj = null;
try
{
obj = bf.Deserialize(file);
}
catch (System.Runtime.Serialization.SerializationException e)
{
MessageBox.Show("De-Serialization failed : {0}", e.Message);
}
file.Close();
System.Collections.ArrayList nodeList = obj as System.Collections.ArrayList;
foreach (TreeNode node in nodeList)
{
treeView.Nodes.Add(node);
}
Не работает на следующем классе:
[Serializable()]
class Simple
{
private int myInt;
private string myString;
public event SomeOtherEventDefinedElsewhere TheEvent;
}