事件委托的简单封装示例:
比如封装在某个控件中或者某个业务类中。
步骤:
1、声明委托;
//1、声明委托;
public delegate void Del0();
public delegate void Del1(string s);
public delegate void Del2(int i, string s);
2、声明事件,事件的类型是对应的委托类型;
//2、声明事件,事件的类型是对应的委托类型;
public event Del0 DelEvent0;
public event Del1 DelEvent1;
public event Del2 DelEvent2;
3、将具体的委托事件方法绑定到事件上;
//3、将具体的委托事件方法绑定到事件上;
eventDelegate.DelEvent0 += new EventDelegateClass.Del0(InputEvent0);
eventDelegate.DelEvent1 += new EventDelegateClass.Del1(InputEvent1);
eventDelegate.DelEvent2 += new EventDelegateClass.Del2(InputEvent2);
4、调用包含有触发 事件委托的方法。
string inStr = Console.ReadLine();
while (int.TryParse(inStr, out int i))
{
//4、调用包含有触发 事件委托的方法。
eventDelegate.OnStart(i % 3);
inStr = Console.ReadLine();
}
Console.ReadKey();
源码如下: