如何在 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;
}
}
}
我定义了一个 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;
}
}
}