У меня есть простой класс, который помечен как 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;
}