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

How to write a custom event handler adder method in C#

我定义了一个 Foo class 并在 Bar class 中使用了它,事件处理程序是:

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 class 中定义一个方法,当我将事件处理程序添加到 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); 
    }
}

有什么方法可以定义这样的加法器方法吗?

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