如何计算有多少听众被吸引到一个事件?

时间:2010-10-30 12:21:29

标签: c# events

假设我已宣布

public event EventArgs<SyslogMessageEventArgs> MessageReceived;

public int SubscribedClients
{
    get [...]
}

我想算一下我班上有多少“订阅的客户”。我需要通过我的API(未在片段中显示)加上那些channel.MessageReceived+=myMethod;那些通过网络订阅的内容求和。

我知道可以使用addremove语句显式声明C#事件,并且我可以肯定地将+或-1计为本地计数器,但我从未编写过显式事件的代码C#,所以我不知道在添加和删除时要执行的更多操作,而不是更新计数器。

谢谢。

1 个答案:

答案 0 :(得分:63)

MessageReceived.GetInvocationList().Length