技术开发 频道

深入理解C#的委托和事件:将方法绑定到委托

  【IT168 专稿】委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、委托和事件对Observer设计模式的意义、.Net Framework中的委托和事件,对它们的中间代码也做了讨论。

  第一篇:深入理解C#中的委托和事件:委托的定义

  将方法绑定到委托

  看到这里,是不是有那么点如梦初醒的感觉?于是,你是不是在想:在上面的例子中,我不一定要直接在GreetPeople()方法中给 name参数赋值,我可以像这样使用变量:

static void Main(string[] args) {
string name1, name2;
name1
= "Jimmy Zhang";
name2
= "张子阳";
GreetPeople(name1, EnglishGreeting);
GreetPeople(name2, ChineseGreeting);
Console.ReadKey();
}

  而既然委托GreetingDelegate 和 类型 string 的地位一样,都是定义了一种参数类型,那么,我是不是也可以这么使用委托?

static void Main(string[] args) {
GreetingDelegate delegate1, delegate2;
delegate1
= EnglishGreeting;
delegate2
= ChineseGreeting;

GreetPeople(
"Jimmy Zhang", delegate1);
GreetPeople(
"张子阳", delegate2);
Console.ReadKey();
}
0
相关文章