作为新手对委托的学习:

1.定义委托:委托实际上是一个类,在定义委托前就知道了方法的返回类型和方法的参数类型(可以把委托理解为只知道方法的返回类型和方法的参数类型,不知道方法体)

public  delegate string TestDelegate(string test);

2.实例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Demo

{

public delegate string TestDelegate(string name);//定义委托,委托实际上是一个类

//新建一个类来测试委托调用方法

public class Test

{

public void GreetPeople(string name, TestDelegate delegate1)

{

//if (delegate1 != null)//如果有方法注册委托变量

//{

//    delegate1(name);//通过委托调用方法

//}

delegate1?.Invoke(name);//(与上面的if等价)

}

}

class Program

{

private static string TestMethod(string name)

{

Console.WriteLine("你好," + name);

return null;

}

static void Main(string[] args)

{

Test gm = new Test();

//使用委托调用TestMethod方法

gm.GreetPeople("panter", TestMethod);

Console.WriteLine();

//使用委托调用lambda

Console.Write("使用了lambda:");

gm.GreetPeople("潘特", lambdatest =>

{

Console.WriteLine("你好,"+lambdatest);

return null;

});

Console.ReadKey();

}

}

}

结果:

最新文章

  1. Struts2+Spring+Hibernate框架整合总结详细教程
  2. 用VLC Media Player搭建简单的流媒体服务器
  3. “胡”说IC——菜鸟工程师完美进阶
  4. yii2 gridview 是否显示某列案例
  5. iOS7程序内部如何打开评分页面
  6. pt-query-digest用法
  7. 解决PL/SQL查询结果乱码的问题
  8. baidu 快递查询API
  9. oracle 索引失效原因
  10. Hbase多master
  11. Maven学习随记
  12. 路由设置 windows
  13. 用javascript操作xml(二)JavaScript 将XML转换成字符串(xml to string)
  14. JDK + Tomcat 安装配置
  15. Oracle EBS-SQL (SYS-24):职责列表
  16. BootStrap 智能表单系列 二 BootStrap支持的类型简介
  17. Java Pattern Matcher 正则应用
  18. 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法
  19. asp.net core系列 27 EF模型配置(索引,备用键,继承)
  20. 【PAT】B1013 数素数

热门文章

  1. Wireshark网络抓包(一)——数据包、着色规则和提示
  2. NAT详解
  3. Extjs学习笔记之九 数据模型(上)-extjs
  4. 怎样在chrome中内置扩展,以及一些简单的定制
  5. 由Spring框架中的单例模式想到的
  6. Android 仿映客直播间给主播发送礼物(实现连击效果)
  7. 简单了解Hibernate
  8. c++ STL常用算法使用方法
  9. Java学习——用户界面的布局
  10. php根据用户输入单词,匹配相似单词