如何在C#中编写自定义事件处理程序加法器方法

时间:2016-01-16 11:44:17

标签: c# event-handling

我已经定义了一个Foo类,并在Bar类中使用了这个类,并带有一个事件处理程序:

public class Bar
{
    public Bar()
    {
        Foo foo = new Foo(); 
        foo.my_custom_event += my_event_handler; 
    }

    public void my_event_handler()
    {
        // do work here 
    }
}

这完美无缺。但我需要在Foo类中定义一个方法,当我向my_custom_event添加一个事件处理程序时会触发该方法,如:

public class Foo
{
    ...
    public/private void my_event_handler_adder(target_function)
    {
         functions_that_are_fired_on_my_custom_event.Append(target_function); 
    }
}

有没有办法定义这样的加法器方法?

1 个答案:

答案 0 :(得分:0)

class Foo
{
    private EventHandler explicitEvent;
    public event EventHandler ExplicitEvent 
    {
       add 
       { 
           explicitEvent += value;
           FireNeededMethodHere();
       } 
       remove 
       { 
           explicitEvent -= value; 
       }
    }
}