C# 中的EventHandler

//这里定义了一个水箱类
public class 水箱
{
    //这是水箱的放水操作
    public void 放水() { }
    //这是水箱的属性
    public double 体积;
    //这是水箱空的事件
    public event EventHandler 水箱空;
}

//这里定义了一个加水器类
public class 加水器
{
    public void 加水(Object sender, EventArgs e)
    {
        //对需要加水的水箱进行加水操作
    }
}
 public class User
{
    public User()
    {
        //实例化水箱类
        水箱1 = new 水箱();
        //实例化加水器类
        加水器1 = new 加水器();

        //加水器注册水箱空事件
        水箱1.水箱空 += new EventHandler(加水器1.加水);
    }

    private 加水器 加水器1;
    private 水箱 水箱1;
}

 
--------------------------------------------------------------------------------------------
 
C#的委托最经典的解释:

例子:this.Activated += new EventHandler(Form1_Activated);

这是一个委托的原理.
this.Activated=你吃完饭;   
Form1_Activated=喊我一声

这句话的意思就是把这两个事放在一起了,意思就是叫你吃完饭了喊我一声。我委托你吃完饭了,喊我一声。这样我就不用过一会就来看一下你吃完了没有了,已经委托你了。
原文地址:https://www.cnblogs.com/syp1Blog/p/6755648.html