关于委托

原创 2006年06月08日 22:53:00
    在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等。

unity3d 使用委托+事件 完成低耦合发送消息

最近在自学unity3d,看了网上的一些教学视频和小游戏按钮,感觉gameobject与gameobject 的消息传递,代码耦合性很强,因为我是开发as3的用的是面向对象的MVC思想,所以看到耦合性...

C#委托使用方法

  • 2016年06月21日 11:24
  • 421B
  • 下载

谈.Net委托与线程——解决窗体假死

引言   在之前的《创建无阻塞的异步调用》中,已经介绍过异步调用的编写步骤和实施原理。异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及...
  • jianwt
  • jianwt
  • 2012年10月30日 15:45
  • 6298

unity3dC#实现委托

  • 2017年10月20日 14:04
  • 3KB
  • 下载

C#中定时器的是使用及异步委托

  • 2017年09月18日 20:19
  • 210KB
  • 下载

如何:定义和使用委托 (C++/CLI)

https://technet.microsoft.com/zh-CN/library/c320cx3h.aspx/如何:定义和使用委托 (C++/CLI)Visual Studio 2015其他版本...
  • Nhsoft
  • Nhsoft
  • 2016年09月01日 23:49
  • 6679

委托的实现与使用

  • 2014年12月17日 15:04
  • 56KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于委托
举报原因:
原因补充:

(最多只允许输入30个字)