我有一个非静态类,它完成了某些事情,当它完成它时,我想在我的系统中引发一个事件。
如果我这样做的话可以吗:
public class Worker
{
public void DoWork()
{
SystemEvents.RaiseWorkDoneEvent(this, ...);
}
}
public static class SystemEvents
{
public delegate void WorkDoneEventHandler(object sender, EventArgs e);
public static event WorkDoneEventHandler WorkDoneEvent;
public void RaiseWorkDoneEvent(...)
{
WorkDoneEvent(...)
}
}
public class Consumer
{
// subscribe to SystemEvents.WorkDoneEvent
// This class has no instance (or not the same instance) of Worker when it fires the event.
}
我理解该事件属于Worker
,但是,当此事件发生时,我的Consumer
中不会有该实例。
这种方法可以吗?