14
當以下類與BinaryFormatter
序列化時,訂閱Roar
事件的任何對象也將被序列化,因爲對這些對象的引用由EventHandler委託保存。如何在序列化對象時忽略事件訂閱者?
[Serializable]
public class Lion
{
public event EventHandler Roar;
public string Name { get; set; }
public float Fluffiness { get; set; }
public Lion(string name, float fluffiness)
{
Name = name;
Fluffiness = fluffiness;
}
public void Poke()
{
Roar(); // Could be null, etc..
}
}
你將如何阻止事件的用戶正在連載的開始與獅子對象圖的一部分?
將[NonSerializable]
屬性放在event
上將不會編譯。
注:我回答我自己的問題,因爲我認爲它可能是有用的網站上的信息!
常問問題:詢問並回答自己的問題也是完全正確的,但假裝你在危險之中:以問題的形式表述它。
感謝。但爲什麼呢? – 2014-02-17 14:26:24