一、概念
1、委托:将方法以变量的形式传递,并且以方法的形式执行。他是类,是引用类型。
2、事件:功能被限制的一个委托变量。它的类型是委托类型。
3、委托的三种形式
3.1、delegate: 四步(声明,实例化,注册方法,调用)
3.2、Action:添加的方法不能有返回值
3.3、Func: 添加的方法要有返回值
3.4、lamda表达式:方法只使用一次,没有多次使用的话使用
二、案例
1、委托、匿名函数、lamda表达式、事件测试
public class DelegateAndEventTest : MonoBehaviour
{
//声明 带一个参数并且无返回值的委托
public delegate void TestDlg(string content);
//TestDlg 类型的事件
public event TestDlg TestDlgEvent;
// Start is called before the first frame update
void Start()
{
//委托的解释:将方法以变量的形式传递,并且以方法的形式执行
TestDlg dlg = TestDlg01;
dlg += TestDlg02;//委托链
dlg -= TestDlg02;
dlg("测试");
//匿名函数:方法只使用一次,没有多次使用的话使用匿名函数
TestDlg dlg1 = delegate (string name)
{
Debug.Log(name+"这是匿名函数");
};
dlg1("测试");
//lamda表达式
TestDlg dlg2 = (name) =>
{
Debug.Log(name+"这是lamda表达式");
};
dlg2("测试");
//事件 功能被限制的一个委托变量 它的类型是委托类型
//通过+=添加通知订阅事件
//通过-=取消通知订阅事

本文介绍了C#中委托、事件、Action和Func的概念及使用方法,包括它们的声明、实例化、注册和调用。通过具体的代码案例展示了如何运用委托实现方法传递,如何使用匿名函数和lambda表达式简化代码,以及如何操作事件进行订阅和发布。同时,还分别通过Action和Func展示了无返回值和有返回值的委托类型应用。

1310

被折叠的 条评论
为什么被折叠?



