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