c#基础(2) 理解委托和事件
时间:2011-02-26 来源:段英杰
总结:
(1)委托时一个类,它定义了方法的类型,使得可以将方法当做另外一个方法的参数来进行传递,这种将方法动态的付给参数的做法,可以避免在程序中大量使用if---else switch等语句,同时使程序有很好的可扩展性。
(2)使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时,可以依次调用所有绑定的方法。
(3)事件其实没什么不好理解的,声明一个事件不过类似声明了一个封装的委托类型的变量而已。
下面贴个简单的例子,大家体会一下吧:不要认为看过了就懂了,动手亲自去实践一下吧。
public delegate void wenhaodelegate(string name);public class wenhao
{
public event wenhaodelegate delegate1;
public void iwenhao(string name)
{
if (delegate1 != null)//如果有方法注册到委托变量
{
delegate1(name);//通过委托调用方法
}
}
}
class Program
{
public static void english(string name)
{
Console.WriteLine("morning:" + name);
}
public static void chinese(string name)
{
Console.WriteLine("早上好:" + name);
Console.Read();
}
static void Main(string[] args)
{
wenhao mywenhao = new wenhao();
mywenhao.delegate1 += english;
mywenhao.delegate1 += chinese;
mywenhao.iwenhao("段英杰");
}
}
相关阅读 更多 +