private void saveData(object sender, MsgEventArgs args) { Console.WriteLine(string.Format("我是:{1},收到{2}的消息,内容是:{0},saveData", args.Data, "Module3", args.EventType)); CustomArgs p1 = args as CustomArgs; if (p1 != null) { Console.WriteLine("子类参数对象获取成功!"); } }
static void Main(string[] args) { //初始化模块1,触发事件IntroduceMe Module1 <D1> m1 = new Module1 <D1>(); m1.IntroduceMe(); //初始化模块2,3 Module2 <D2> m2 = new Module2 <D2>(); Module3 <D1> m3 = new Module3 <D1>(); //每个模块分别发送消息 m1.SendMsg(new D1() { id = "d1", num = 1000.0001 }); m2.SendMsg(new D2() { code = 900, name = "tt11" }); m3.SendMsg(new D1() { id = "d2", Lyrs = { 1, 3, 4, 5, 6, 7 }, num = 0.99998 }); m1.SendMsg(new D1() { id = "d1", num = 1000.0001 }); m2.SendMsg(new D2() { code = 900, name = "tt11" }); m3.SendMsg(new D1() { id = "d2", Lyrs = { 1, 3, 4, 5, 6, 7 }, num = 0.99998 }); m1.SendMsg(new D1() { id = "d1", num = 1000.0001 }); m2.SendMsg(new D2() { code = 900, name = "tt11" }); m3.SendMsg(new D1() { id = "d2", Lyrs = { 1, 3, 4, 5, 6, 7 }, num = 0.99998 }); //临时创建一个消息体,并将此消息发送到s1信道中 CustomArgs args1 = new CustomArgs("s1"); args1.ID = "p1111"; MsgEvent.Send(args1, null); //可根据此方法获取某一信道内的消息订阅者清单 MsgEventProvider provider = MsgEventFactory.EventsContainer.GetAllProvider("s1"); List <MsgReceiver> li = provider.Receivers; Console.ReadKey(); }