技术改变世界!学习改变自己!

每天进步一点点,遥不可及的事情,在你一点一滴的努力下,也会变成现实。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在C#中使用一个类时,有两个部分。首先需要定义这个类,即告诉编译器这个类由什么字段和方法组成。然后(除非使用的是静态方法)实例化类,即创建类的一个对象。当我们想要使用委托时,也需要经过这两个步骤。对于委托,定义它就是告诉编译器这种类型代表了哪种类型的方法,然后创建该委托的一个或多个实例。
    定义委托的方法如下:
    delegate void VoidOperation(uint X);
    在这个例子中,定义了一个委托VoidOperation,并指定该委托的每个实例都包含一个方法的细节。该方法带有一个unit的参数,并返回void。理解委托的一个要点是它们的类型安全性非查高。在定义委托时,必须给出它所代表的方法的全部细节。
    提示:
    理解委托的一种好方式是把委托当作给方法的特征指定一个名称。
    假定,要定义一个委托TwoLongsOp,该委托代表的函数有两个long参数,返回一个double,可以编写如下的代码:
    delegate double TwoLongsOp(long L1,long L2);
    或者定义一个委托,它代表一个不带参数的方法,返回一个string,则可以编写如下代码:
    delegate string GetAString();
    其语法类似于方法的定义,但没有方法体,定义的前面要加上关键字delegate。因为定义委托基本上是定义一个新类,所以可以在定义类的任何地方定义委托,既可以在另一个类的内部定义,也可以在任何类的外部定义,还可以在命名空间中把委托定义为顶层对象。根据定义的可见性,可以在委托定义上添加一般的访问修饰符:public、private和protected等。

posted on 2010-03-31 21:13  阿捷  阅读(169)  评论(0编辑  收藏  举报