一、委托
委托是把方法作为参数来传递,这个参数的类型就是委托。
使用委托的步骤:
1.传递谁?
定义几个要作为参数被传递的方法,这些方法的签名(参数、返回值)要一致。
2.以什么类型传递?
声明一个委托类型,参数、返回值与上述方法的签名一致。委托的声明看起来像定义一个方法一样,但带有delegate关键字,并且没有花括号。
3. 用在哪?
定义需要使用这个委托类型作为参数的方法。
4.最后调用即可
调用这个方法。此时可以根据需要,把不同的方法名作为参数传递进去。
using System;
namespace DelegatePractice1
{
//声明一个委托类型,处理角色碰撞到不同的物体。
public delegate string CollisionHandler(int value);
class Program
{
static void Main(string[] args)
{
//委托是将方法作为参数来传递,参数的类型即“委托”
//向PlayerCollision传递所需方法的名称作为实参时,即可实例化这个委托
//先吃一个血包
PlayerCollision(GetHPBag,5);
//接着捡一个装备
PlayerCollision(GetEquipItem,10);