110,477
社区成员
发帖
与我相关
我的任务
分享
public class MyControl
{
public event EventHandler Event1;
public event EventHandler<EventArgs> Event2;
public void AddEvent(string eventName, Delegate handler)
=>GetType().GetEvent(eventName)?.AddEventHandler(this, handler);
public void RemoveEvent(string eventName, Delegate handler)
=> GetType().GetEvent(eventName)?.RemoveEventHandler(this, handler);
}
class Program
{
static void Main(string[] args)
{
var mc = new MyControl();
var eventHandler1 = new EventHandler((s, e) => { });
var eventHanlder2 = new EventHandler<EventArgs>((s, e) => { });
mc.AddEvent("Event1", eventHandler1);
mc.AddEvent("Event2", eventHanlder2);
mc.RemoveEvent("Event1", eventHandler1);
mc.RemoveEvent("Event2", eventHanlder2);
}
}
private void Form1_Load(object sender, EventArgs e)
{
bool turnOn = true;
if(turnOn)
{
button1.Click += new EventHandler((o,ev)=>
{
//do something
});
turnOn = false;
}
else
{
button1.Click -= new EventHandler((o,ev)=>
{
//do something
});
turnOn = true;
}
}