public int stockInhand=5;
public event EventHandler OnEnvent;
Order = new EventInvoker(this, () => OnEnvent);
public void MyInvokerRaising() {
private Func<EventHandler> GetEventHandler;
public EventInvoker(object sender, Func<EventHandler> GetEventHandler)
this.GetEventHandler = GetEventHandler;
if(null != GetEventHandler())
GetEventHandler()(sender, new EventArgs());
static void Main(string[] args)
HasEvent h = new HasEvent();
h.OnEnvent += Refill_OnEnvent;
private static void Refill_OnEnvent(object sender, EventArgs e)
Console.WriteLine("FIRED");