C# 中,事件可否有这样一个属性:已绑定了多少个委托(指定的方法)

Jave.Lin 2010-04-14 09:58:47
如题所示:

强调:C# 中,事件可否有这样一个属性:已绑定了多少个委托(指定的方法)
...全文
1191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsuswy 2010-04-21
  • 打赏
  • 举报
回复
GetInvocationList
walter8088 2010-04-20
  • 打赏
  • 举报
回复
顶下,不懂,呵呵!
Jave.Lin 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dobzhansky 的回复:]
所有的 delegate 都可以调用

public virtual Delegate[] GetInvocationList ()


来获知, 射定了几个实例
[/Quote]

        ...............

private delegate void MyMethodHandler();

private event MyMethodHandler MyMethodEvent;
private void Method()
{
MyMethodEvent+=Method1();
MyMethodEvent+=Method2();
MyMethodEvent+=Method3();
MyMethodEvent+=Method4();
MyMethodEvent+=Method5();
Delegate[] delegates = MyMethodEvent.GetInvocationList();
for (int i = 0; i < delegates.Length; i++)
{
MethodInfo methodInfo = delegates[i].Method;
methodInfo.Invoke(null, null);//这里有异常,未处理TargetException,非静态方法需要一个目标。
}
}

private viod Method1(){//nothing to do...this is demo...}
private viod Method2(){//nothing to do...this is demo...}
private viod Method3(){//nothing to do...this is demo...}
private viod Method4(){//nothing to do...this is demo...}
private viod Method5(){//nothing to do...this is demo...}

..............


问请大侠知道怎么处理这个问题不?
Dobzhansky 2010-04-14
  • 打赏
  • 举报
回复
所有的 delegate 都可以调用

public virtual Delegate[] GetInvocationList ()


来获知, 射定了几个实例
Jave.Lin 2010-04-14
  • 打赏
  • 举报
回复
晕,发错版块了,麻烦版主,帮我把该贴子发到:.NET技术->C#版的

要不然我只能去C#版那里重发了。
Jave.Lin 2010-04-14
  • 打赏
  • 举报
回复
属性类似这样的功能:获取该事件已绑定委托的数量。

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧