永发信息网

C# 事件传递

答案:2  悬赏:20  手机版
解决时间 2021-02-12 05:40
  • 提问者网友:人生佛魔见
  • 2021-02-11 19:43
Form调用类库A,类库A调用类库B,类库B触发事件,Form怎么才能捕获这些事件?

做了测试,类B采用单例模式果然可以解决该问题;静态类也可以;决定采用单例模式,改动较少,谢谢各位!
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-02-11 20:05
FORM 直接注册类库B的事件
全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-02-11 21:23
以下代码以z代表整体,以b代表部分 class b { public event action inform; //…… { if(inform != null) inform(); //在 部分 类里面触发事件 } } //这种方式实现的话,z里面的inform就只传递事件,如果想既传递事件,也自已绑事件,就用下面class x的方式 class z { public b b; public event action inform { add { b.inform+=value; } remove { b.inform-=value; } } } class x { public b b; private event action _inform; public event action inform { add { lock( _inform ) { _inform+=value; } b.inform+=value; } remove { lock( _inform ) { _inform-=value; } b.inform-=value; } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯