public void TypeDetermination() { IMsgInterface msg = new MyMessage1(); bus.RegisterSubscriber(new Msg1Sub()); // Handler wants MyMessage1 types, msg is IMsgInterface but runtime type MyMessage1, so it should still get called bus.Send(msg); AssertHandleCounts(m1: 1); ResetHandleCounts(); BaseMessge msg2 = new MyMessage2(); bus.RegisterSubscriber(new Msg2Sub()); // Similar here, Msg2Sub should still get called. bus.Send(msg2); AssertHandleCounts(m1: 0, m2: 1); }
void ISubscriber <MyMessage2> .Handle(MyMessage2 message) { Handle2Count++; }
public void HandleMessage(MyMessage2 message) { MyMessage2 = message; }
public void Handle(MyMessage2 message) { }