我在域模型中有两个对象(都是可序列化的)和一个 winform 控件。第一个对象和 winform 控件是第二个对象的同一事件的侦听器。我想序列化第二个对象,第一个对象作为侦听器,没有 winform 控制侦听器。
class SecondObject
{
public event EventHandler SomeEvent;
}
class FirstObject
{
SecondObject object;
object.SomeEvent += secondObject_SomeEvent();
}
class WinFormControl
{
SecondObject object;
object.SomeEvent += secondObject_SomeEvent();
}
现在,我这样做:
class SecondObject
{
[field: NonSerialized]
public event EventHandler SomeEvent;
}
class FirstObject
{
SecondObject object;
[OnDeserialized()]
internal void SubscribeToEventsOnDeserialized(StreamingContext context)
{
object.SomeEvent += secondObject_SomeEvent();
}
}
但是我可以在没有 NonSerialized 事件的情况下做到这一点吗?
Ps 对不起我的英语不好。