在学习的过程中,遇到了委托的概念,翻阅了学习资料,简单的记录一下
一 定义:
委托是一种引用类型,它是函数指针的托管版本。在C#中,委托是一种可以把引用存储为函数的类型。委托可以引用实例和静态方法,而函数指针只能引用静态方法。委托的声明非常类似于函数,和函数不同的的是委托不带函数体,并且需要Delegate关键字。委托的声明指定了一个函数签名,其中包含参数列表和和一个返回类型。在定义了委托后,就可以声明该委托类型的变量,然后可以将这个变量初始化为与该委托有相同签名的函数进行引用,随后可以使用委托变量调用该函数。
二 使用方法:
1、声明委托类型
2、有一个方法包含了执行的代码
3、创建委托实例
4、调用委托实例
三 举例子:
using System;
namespace ConsoleApp
{
class Program
{
//1、声明委托类型
public delegate void AddDeleteNum(int a, int b);
//2、有一个方法包含了执行的代码
public static void Add(int a, int b)
{
Console.WriteLine(a + b);
}
static void Main(string[] args)
{
//3、创建委托实例,使用了new 关键字,说明委托也是类,将方法名Add作为参数绑定到该委托实例
var adddelete = new AddDeleteNum(Add);
//4、调用委托实例
adddelete(1, 2);
Console.ReadKey();
}
}
}
目前只会使用,感觉在多文件编程中比较有用。