首页 / 软件开发 / C# / C#编程利器之四:委托与事件(Delegate and event) (上)
C#编程利器之四:委托与事件(Delegate and event) (上)2011-08-16 博客园 Beniao本文试图在.net Framework环境下,使用C#语言来描述委托、事件的概貌。希望本文能有助于大家理 解委托、事件的概念,理解委托、事件的用途,理解它的C#实现方法,理解委托与事件为我们带来的好处 。C#是一种新的语言,希望大家能通过本文清楚地看到这些,从而可以对委托、事件等技术进行更深入的 理解和探索。一. 委托委托的本质--在C#中,委托是一个特殊的类;--在某种程度上,相当于C++的函数指针;--在某种程度上,相当于接口(Interface);委托的定义--关键字:delegate--public delegate void MyDelegate(string message);注:在这里我们先了解一个概念,什么是函数签名?(在这里我不做过多解释,大家知道这个概念就行) 。使用委托我们先来看看一个小的委托示例:平时,如果说我们要设计一个做简单加减运算的方法,通常是怎么做的呢?看看下面代码:1class Program
2 {
3 /**//// <summary>
4 /// 加法运算
5 /// </summary>
6 /// <param name="x">x</param>
7 /// <param name="y">y</param>
8 /// <returns></returns>
9 private static int Add(int x, int y)
10 {
11 int result = x + y;
12 Console.WriteLine("x + y = {0}",result);
13 return result;
14 }
15
16 /**//// <summary>
17 /// 减法运算
18 /// </summary>
19 /// <param name="x">x</param>
20 /// <param name="y">y</param>
21 /// <returns></returns>
22 private static int Sub(int x, int y)
23 {
24 int result = x - y;
25 Console.WriteLine("x - y = {0}", result);
26 return result;
27 }
28
29 static void Main(string[] args)
30 {
31 Add(8, 8);
32 Sub(8, 1);
33 Console.Read();
34 }
35 }