下面这个例子,很生动的阐述了委托的作用,也给出了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);
--------------------------------------------------------
水箱1.水箱空 += new EventHandler(加水器1.加水);
--------------------------------------------------------
这是一个委托的原理.
this.Activated=水箱1没有水了;
Form1_Activated=加水器1加水
这句话的意思就是把这两个事放在一起了,意思就是讲,水箱没水了,通知加水器加水。加水器不需要一直检测水箱是否需要加水,已经将加水的通知委托给水箱了。
//这里定义了一个水箱类
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);
--------------------------------------------------------
水箱1.水箱空 += new EventHandler(加水器1.加水);
--------------------------------------------------------
这是一个委托的原理.
this.Activated=水箱1没有水了;
Form1_Activated=加水器1加水
这句话的意思就是把这两个事放在一起了,意思就是讲,水箱没水了,通知加水器加水。加水器不需要一直检测水箱是否需要加水,已经将加水的通知委托给水箱了。