class Program
{
static void Main(string[] args)
{
// 创建一个PrintDelegate委托类型的实例,并进行初始化赋值
// 此时实例化出来的printDelegate变量指向Print1方法
PrintDelegate printDelegate = Print1;
MyPrint(printDelegate);
Console.ReadKey();
}
// 定义一个委托类型
private delegate void PrintDelegate();
// 自定义方法
static void Print1()
{
Console.WriteLine("This is Print1");
}
/// <summary>
/// 定义了一个作为输出的方法
/// 将一个方法作为参数传递到另外一个方法中进行使用
/// </summary>
/// <param name="print">参数是一个“委托”类型,即这个参数即代表一个方法</param>
static void MyPrint(PrintDelegate print)
{
// 因为参数是“委托”类型,也就是一个方法作为参数传递进来,因此可以直接使用
print();
}
}