(原创文章,2008年10月21日修改,转载请注明来源:http://blog.csdn.net/hulihui)
本次讲座涉及三个方面的内容:
.NET委托、
.NET事件以及
软件项目开发。
1. NET委托及应用
1. NET委托及应用
1.1 .NET委托概念
OOP中具有相同属性的对象抽象后成为类型( class)。那么,具有相同属性的函数或方法(也称具有相同的函数签名):- 返回类型相同
- 参数类型、参数顺序及参数个数相同
static private int SquareSum(int n)
{
int m = 0;
for (int k = 1; k <= n; k++)
{
m += k * k;
}
return m;
}
static private int CubeSum(int n)这些相同属性的函数抽象,就是.NET提出的一个新的类型概念——委托,关键字为delegate。
{
int m = 0;
for (int k = 1; k <= n; k++)
{
m += k * k * k;
}
return m;
}
1.2 .NET委托声明及特点
与C/C++/C#的函数声明相同,声名一个委托需要有:委托名、返回类型、参数及类型。例如,声明前面定义的两个函数的委托PowerSum如下:public delegate int PowerSum(int n);特别地,一类通用的事件处理委托EventHandler声明如下:
public delegate void EventHandler(object sender, EventArgs e)显然,与类定义不同,委托声名不需要定义成员,它只起一个表示作用(delegate就是代表的意思)。此外,delegate也是类,其基类是MulticastDelegate,再上层类是Delegate,顶层类是object。