C#事件处理程序

Vik*_*tor 4 .net c# silverlight event-handling

有没有办法让事件的附加事件处理程序数量?问题是代码中的某个地方继续将处理程序附加到事件中,如何解决这个问题?

Roh*_*est 10

可以通过调用GetInvocationList()获取所有订户的列表

public class Foo
{
    public int GetSubscriberCount()
    {
        var count = 0;
        var eventHandler = this.CustomEvent;
        if(eventHandler != null)
        {
            count = eventHandler.GetInvocationList().Length;
        }
        return count;
    }

    public event EventHandler CustomEvent;
}
Run Code Online (Sandbox Code Playgroud)