一.委托的概述与声明

委托:类型化的函数指针 它的使用场景是:将方法作为参数进行传递

1.委托是一种引用数据类型(object,数组,string,class这些都是引用类型)

扩展: 程序设计之一:ocp原则(开闭原则)
允许你扩展 不允许你修改

2,委托的声明语法

委托对象只可指向具有与和自己一样的返回值类型和参数列表的方法

public delegate stging TransltionDelegate(string name)

委托的语法首先是修饰符类型public 然后是委托类型delegate关键字 然后就是返回值类型,然后就是委托方法名 , 最后就是委托参数列表 ,因为委托是一种特殊的类,所以使用委托与使用类相似

3.实例化委托的语法:

TransltionDelegate  transform  = new  TransltionDelegate(方法名)在c#2.0中,实例化委托对象可以简写为将方法引用直接指向委托。
TransltionDelegate   transform = 方法名;

4.调用委托

一般可以使用委托对象的Invoke()方法调用委托
如: transform.Invoke("张三");
而后面为了简化委托,省略了Invoke方法,可以直接调用 语法如下:
transform("张三");

除此之外还有多番委托,这里就不叙述了,可以查看其他的博客文章进行学习

5.可以做以下案例进行学习

首先声明一个User用户类

class User{//定义委托public delegate double UserAction(double x,double y);//分别创建加减乘除的方法,
//这些方法必须和委托对象的返回值类型和参数列表一致这样才能将这些方法指向委托对象public static double jia(double x,double y){return x + y;}public static double jian(double x, double y){return x - y;}public static double chen(double x, double y){return x * y;}public static double chu(double x, double y){return x / y;}public static void ee(double x,double y,UserAction userAction){Console.WriteLine(userAction(x, y));}}

而后在主方法中调用ee方法进行加减乘除

  static void Main(string[] args){User.ee(10,10,User.jia); //将User.jia方法作为委托,委托给userAction对象}

第一章C#高级特性 C#委托相关推荐

  1. Android进阶之光读书笔记——第一章:Android新特性

    第一章 Android新特性 主要讲了一些Android 5.0.6.0.7.0新特性 1.1 Android 5.0新特性 Android 5.0 Lollipop是2014年10月发布的,那时候我 ...

  2. Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】

    Educoder–Java高级特性(第一章)- IO流[笔记+参考代码] 第一关 1.下列关于字节和字符的说法正确的是(BC) A.字节 = 字符 + 编码 B.字符 = 字节 + 编码 C.字节 = ...

  3. Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】

    Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...

  4. 【笔记】Cocos2d-x高级开发教程:制作自己的捕鱼达人 笔记一:序_前言_第一章

    [笔记]Cocos2d-x高级开发教程:制作自己的<捕鱼达人> 笔记一:序_前言_第一章 转载请注明出处:http://blog.csdn.net/l_badluck/article/de ...

  5. css高级教程第一章笔记

    2019独角兽企业重金招聘Python工程师标准>>> 大年30,今天刚刚看完第一章,上传上来一些笔记. 1.css:可以将文档的表现部分与内容分开 2.id:是唯一的,id可以用来 ...

  6. redis decr 防止超卖_Redis基础、高级特性与性能调优——一篇文章搞定

    本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍.之后概览Redis提供的高级能力,并在部署.维护.性能调优等多个方面进行更深入的介绍和指导. ...

  7. python数据符号函数等一切皆对象_第一章:Python高级编程-Python一切皆对象

    第一章:Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 "" ...

  8. 高级软考项目管理课第一章后习题

    高级软考项目管理课后习题 第一章 信息化和信息系统 1.1 信息系统与信息化 B C 没有金土 A B A.全体社会成员 D 系统规划:写报告||系统分析:逻辑模型||系统设计:物理模型 B C A ...

  9. 数字图像处理笔记 第二章 数字图像基础 第一节 人眼视觉特性

    第二章 数字图像基础 第一节 人眼视觉特性 一.光与电磁波 可见光谱:380mm - 780mm 光谱图: 可见光范围内,不同波长的光给人不同的色彩感觉,不同强度的光及不同强度分布的光刺激人眼,在人脑 ...

最新文章

  1. Vscode 过滤.pyc文件
  2. jQuery 基础选择器/层级选择器/隐式迭代
  3. How to check accessibility errors via Web IDE
  4. 自驾日产轩逸由沈阳去西藏拉萨,车辆和现在的路况到底行不行?
  5. 小程序和APP的差别是什么?
  6. Top 10 盘点:2019 Java 开发者必学的测试框架、工具和库!
  7. 达梦数据库/DM7迁移之导出sql脚本
  8. Android Studio 的原生输入框控件 EditText 属性配置详解
  9. vue优化技巧之mixins
  10. IDAE Keystore was tampered with报错解决
  11. Basler驱动如何彩色相机白平衡说明
  12. 企业二维码故障报修的过程演示
  13. 页面滚动的时候自动切换导航栏
  14. Javescript第二周学习
  15. 一个不错的金蝶KIS专业版条码扫描插件
  16. 阴天(唐伯虎点秋香版)2铃声 阴天(唐伯虎点秋香版)2手机铃声免...
  17. thinkphp使用flash上传验证登录问题
  18. 如何有效的进行7S管理_7S巡检管理系统基于微信的7S管理
  19. 网站上线前的准备工作
  20. 在Linux中使用Graphics、drawString在图片上写文字时,中文问题

热门文章

  1. java数据库技术_JAVA数据库技术
  2. python怎么读写文件-手机上怎么写pythonPython文件读写详解及设置文件的字符编码...
  3. python有趣小程序-小码王分享python一些有趣的小程序
  4. 在哪里学python-在合肥哪里可以学Python
  5. python和java的区别-python和java的区别,看了这个就会区分了!
  6. python语言的读法-Python语言的优势有哪些?
  7. python儿童入门视频-Python入门视频课程
  8. python 下载文件-python实现从ftp服务器下载文件
  9. js 语音识别_js语音识别_js 语音识别库 - 云+社区 - 腾讯云
  10. 语音识别哪家强?百度 、苹果、科大讯飞都有制胜法宝