技术讲座:.NET委托、事件及应用兼谈软件项目开发

本文深入探讨.NET框架中的委托和事件,包括委托的概念、声明、应用,以及事件的设计步骤和实际应用。同时,文章还讨论了软件项目开发中的文档编写、后期维护和技术积累的重要性。
摘要由CSDN通过智能技术生成
(原创文章,2008年10月21日修改,转载请注明来源:http://blog.csdn.net/hulihui)

本次讲座涉及三个方面的内容: .NET委托.NET事件以及 软件项目开发

1. NET委托及应用

1.1 .NET委托概念

OOP中具有相同属性的对象抽象后成为类型( class)。那么,具有相同属性的函数或方法(也称具有相同的函数签名):
  • 返回类型相同
  • 参数类型、参数顺序及参数个数相同
抽象后又是什么概念?例如,1到n之间每个数的平方后求和函数int SquareSum(int n)和立方后求和函数int CubeSum(int n),它们具有相同的函数签名:返回类型int、参数只有一个且是int类型。
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)
{
    int m = 0;
    for (int k = 1; k <= n; k++)
    {
        m += k * k * k;
    }
    return m;
}
这些相同属性的函数抽象,就是.NET提出的一个新的类型概念——委托,关键字为delegate。

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。

1.3 .NET委托揭秘

标题“揭秘”是借用了Jeffrey Richeter的《.框架设计(第2版)CLR Via C#》的一句原话。前面定义的委托 PowerSum 的类层次如下图,其中省略了许多方法与方法参数,图也不十分规
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值