static void HookMiddleToTop_ThenBottomToMiddle_ThenCallBottom(BottomLayer bottom, MiddleLayer middle, TopLayer top) { middle.Event += top.TopLayerHandler; middle.HookUpEvent(bottom); System.Console.Write("HookMiddleToTop_ThenBottomToMiddle_ThenCallBottom:"); bottom.callEvent(); }
static void HookBottomToMiddle_ThenMiddleToTop_ThenCallBottom(BottomLayer bottom, MiddleLayer middle, TopLayer top) { middle.HookUpEvent(bottom); middle.Event += top.TopLayerHandler; try { bottom.callEvent(); } catch(System.NullReferenceException) { System.Console.Write("HookBottomToMiddle_ThenMiddleToTop_ThenCallBottom: Event was null\n"); } }
public void HookUpEvent(BottomLayer bl) { bl.Event += this.Event; }