我有类似的东西:
public abstract class BaseClass
{
protected void ToDoOnAdd()
{
}
protected void ToDoOnRemove()
{
}
}
public class TopClass : BaseClass
{
public event EventHandler OnEvent;
}
我想要做的是每次调用ToDoOnAdd
时调用方法OnEvent += ...
,调用ToDoOnRemove
时调用OnEvent -= ...
,并在每次定义的事件中调用类派生自BaseClass
。
我知道我可以做类似的事情:
public class TopClass : BaseClass
{
private event EventHandler onEvent;
public event EventHandler OnEvent
{
add
{
onEvent += value;
ToDoOnAdd();
}
remove
{
onEvent -= value;
ToDoOnRemove();
}
}
}
但我希望找到一个动态执行此操作的解决方案,以便我(或使用BaseClass的其他开发人员)不必为每个事件执行此操作。
有没有办法在BaseClass
的构造函数中使用反射?
public BaseClass()
{
var events = this.GetType().GetEvents();
foreach (var ev in events)
{
???
}
}
提前致谢!