什么是委托?
官方解释
委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。
个人理解
委托是一个持有一个或多个方法的对象,并且该对象可以被执行,可以被传递
使用方法
首先创建一个类或多个类并且创建方法有无参数都可以
使用关键字 delegat 创建委托
实例化类
使用委托类创建委托对象并且为对象赋值 赋值内容为类的方法用对象名和“+”这个符号可以持有多个方法
调用委托 调用方式与函数类同
笔者在这里用案例写一下:
//命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
//定义两个无参类
public class dog
{
public void play()
{
Console.WriteLine("汪");
}
}
public class cat
{
public void play()
{
Console.WriteLine("喵");
}
}
class Program
{
delegate void act();//定义一个委托类型
static void Main(string[] args)
{
dog dog= new dog();//实例化对象
cat cat = new cat();
act del = dog.play;//定义委托对象
del += cat.play;//持有多个方法
del+= delegate()//lambda表达式
{
Console.Write("你们在干什么呀!");
};
da();
Console.Read();
} }
}
|