委托其实就像个中介,用于将方法传递给其他方法作为参数:
using System;
public delegate void mydelegate(string s); //声明参数为字符串无返回值的委托
class Program
{
static void Main()
{
Program p = new Program(); //实例化类
mydelegate my1 = new mydelegate(p.show2); //用被调用的方法实例化委托
p.show(my1, "abcdefg"); //类实例调用方法
Console.ReadLine();
}
private void show(mydelegate my, string s)
//定义调用的方法,其中第一个参数为委托
{
my(s);
}
private void show2(string s) //定义被调用的方法
{
Console.WriteLine(s);
}
}