C# 动态重新定义事件的添加和删除方法
我有这样的想法:C# 动态重新定义事件的添加和删除方法,c#,events,reflection,C#,Events,Reflection,我有这样的想法: public abstract class BaseClass { protected void ToDoOnAdd() { } protected void ToDoOnRemove() { } } public class TopClass : BaseClass { public event EventHandler OnEvent; } 我想做的是每次调用OnEvent+=…时调用方法ToDoOnAdd,
public abstract class BaseClass
{
protected void ToDoOnAdd()
{
}
protected void ToDoOnRemove()
{
}
}
public class TopClass : BaseClass
{
public event EventHandler OnEvent;
}
我想做的是每次调用OnEvent+=…
时调用方法ToDoOnAdd
,调用OnEvent-=…
时调用方法ToDoOnRemove
,对于从BaseClass
派生的类中定义的每个事件
我知道我可以做一些事情,比如:
public class TopClass : BaseClass
{
private event EventHandler onEvent;
public event EventHandler OnEvent
{
add
{
onEvent += value;
ToDoOnAdd();
}
remove
{
onEvent -= value;
ToDoOnRemove();
}
}
}
但我想找到一个解决方案来动态地完成这项工作,这样我(或其他使用基类的开发人员)就不必为每个事件都这样做
有没有办法在基类的构造函数中使用反射
public BaseClass()
{
var events = this.GetType().GetEvents();
foreach (var ev in events)
{
???
}
}
提前谢谢