Form调用类库A,类库A调用类库B,类库B触发事件,Form怎么才能捕获这些事件?
做了测试,类B采用单例模式果然可以解决该问题;静态类也可以;决定采用单例模式,改动较少,谢谢各位!
C# 事件传递
答案:2 悬赏:20 手机版
解决时间 2021-02-12 05:40
- 提问者网友:人生佛魔见
- 2021-02-11 19:43
最佳答案
- 五星知识达人网友:鱼芗
- 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;
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯