刚开始,见了多次,但是从来没有理解,一大早过来就先google一下,先把这个问题搞清楚。

delegate 的字面意思
vt. 委派…为代表
n. 代表

msdn上的解释
A delegate declaration defines a reference type that can be used to encapsulate a method with a specific signature. A delegate instance encapsulates a static or an instance method. Delegates are roughly similar to function pointers in C++; however, delegates are type-safe and secure.

delegate声明一种引用类型,用来封装有特定签名的方法,可以是一个静态的方法或是实例的方法。类似于C++中的方法指针。

声明格式

[attributes] [modifiers] delegate result-type identifier ([formal-parameters]);
范例一
// keyword_delegate.cs
// delegate declaration
delegate void MyDelegate(int i);class Program
{public static void Main(){TakesADelegate(new MyDelegate(DelegateFunction));}public static void TakesADelegate(MyDelegate SomeFunction){SomeFunction(21);}public static void DelegateFunction(int i){System.Console.WriteLine("Called by delegate with number: {0}.", i);}
}

范例二

1 // keyword_delegate2.cs
2 // Calling both static and instance methods from delegates
3 using System;
4
5 // delegate declaration
6 delegate void MyDelegate();
7
8 public class MyClass
9 {
10 public void InstanceMethod()
11 {
12 Console.WriteLine( " A message from the instance method. " );
13 }
14
15 static public void StaticMethod()
16 {
17 Console.WriteLine( " A message from the static method. " );
18 }
19 }
20
21 public class MainClass
22 {
23 static public void Main()
24 {
25 MyClass p = new MyClass();
26
27 // Map the delegate to the instance method:
28 MyDelegate d = new MyDelegate(p.InstanceMethod);
29 d();
30
31 // Map to the static method:
32 d = new MyDelegate(MyClass.StaticMethod);
33 d();
34 }
35 }
本文中的大部分内容摘自http://msdn.microsoft.com/zh-cn/library/900fyy8e%28v=VS.71%29.aspx

转载于:https://www.cnblogs.com/mt4us/archive/2011/04/29/2032398.html

C# 中的delegate相关推荐

  1. ios中关于delegate(委托)的使用心得

    ios中关于delegate(委托)的使用心得 分类: iOS开发2012-05-15 10:54 34793人阅读 评论(9) 收藏 举报 iosuiviewtimerinterfaceprinti ...

  2. (转)C#中的委托(Delegate)和事件(Event)

    转自:http://blog.chinaunix.net/uid-576762-id-2733751.html 把C#中的委托(Delegate)和事件(Event)放到现在讲是有目的的:给下次写的设 ...

  3. C#中的delegate和event (转)

    C#中的delegate和event 在基于Windows平台的程序设计中,事件(event)是一个很重要的概念.因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮.处 ...

  4. Unity中的Delegate

    详解Unity中的委托与事件 阅读目录 0x00 前言 0x01 从观察者模式说起 0x02 向Unity3D中的SendMessage和BroadcastMessage说拜拜 0x03 认识回调函数 ...

  5. C#中的delegate是什么?

    1.C#中的delegate是什么,有什么用? delegate是委托,类似于在C语言中的函数指针,类A的方法m给类B使用,在类B中可以调用方法m.这里委托是吧方法作为参数传递. 1.1delegat ...

  6. C#中的delegate

    一:C#中的delegate和event 在基于Windows平台的程序设计中,事件(event)是一个很重要的概念.因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮 ...

  7. 谈C#中的Delegate

    引言 Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理.这两天,我再度翻阅了一些关于Delegate的资料 ...

  8. QTableView中使用Delegate方式来实现对特定列的文本进行换行

    问题:由于表格的一个列中,有个别文本过长,默认情况下,QTableView不支持对某列的文本换行,所以需要通过Delegate方式来实现这样的效果 头文件的Delegate 1 #pragma onc ...

  9. 转:终于会用c#中的delegate(委托)和event(事件)了

    第一个例子: public class DelegateTest {// 声明delegate对象 public delegate void CompareDelegate(int a,int b); ...

  10. C#中的delegate的 Invoke 、BeginInvoke的区别

    事情是这样的,我看到了以下的一段代码,才引发了对这个问题的思考.代码如下: 1 using UnityEngine; 2 using UnityEditor; 3 4 public class Cus ...

最新文章

  1. 后备干部,究竟应该提拔什么样的员工?
  2. 怎样才能快速批量绑定MAC与IP地址(图)
  3. ab apr_socket_recv: Connection reset by peer 错误解决
  4. 删除重复数据sql语句
  5. 2017计算机软件考试试题,2017年计算机应用考试试题含答案.doc
  6. Win7中IIS7.0安装及ASP环境配置
  7. 《Python Cookbook 3rd》笔记(2.18):字符串令牌解析
  8. java 企业级应用设计规范_一步一步理解Java 企业级应用的可扩展性
  9. PLSQL复合变量与参照变量
  10. VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文
  11. layui表头样式_Layui表格好看样式
  12. C++ 一维高斯积分的实现
  13. HTML模拟唯品会登陆和注册页面
  14. Android音视频开发(一)——音视频开发流程
  15. 第二十二课--提示工具(Tooltip)
  16. Dubbo封装异常处理Filter报AppResponse represents an concrete business response解决方案
  17. 计算摄影:噪声模型与噪声估计
  18. GEA 1.7 工具及资产管道
  19. 我的2013,成功当选微软最有价值专家
  20. 根据两点经纬度计算两点距离...工具类

热门文章

  1. 女生为什么背对着男生睡觉
  2. Windows 10 美式键盘消失 解决方案
  3. {转}一位北京差生9年的北京生活
  4. oim-server-web打包测试环境不起作用问题 vue+typeScript
  5. 计算机毕业设计之java+ssm框架个人博客系统多用户
  6. 最新计算机技能需求排名Python第三,谁是第一?俄罗斯实现最强读心术
  7. 沙特CB认证如何申请,流程怎样
  8. mysql 快照 理解_MySQL - 当前读和快照读
  9. 刚刚通过绿色通道拿到蚂蚁金服offer来和大家分享一下面试经验
  10. console.log()、console.log(this)报错-总结