C# 委托
using System;
using System.Collections.Generic;
using System.Text;
namespace CON_delegate
{
//委托类似于C语言的函数指针,一个委托类型的实例变量指向一个方法,
//方法地签名要和委托的签名一致,类型安全。
//委托可以指向多个方法,使用"+="操作符。
public delegate void Delegate_FruitName();
class Program
{
static void Main(string[] args)
{
Apple apple = new Apple();
Banana banana = new Banana();
ShowName(apple.AppleName);//将方法作为参数传递
ShowName(banana.BananaName);//将方法作为参数传递
Console.ReadLine();
}
public static void ShowName(Delegate_FruitName fruitname)//委托类型的变量做参数
{
fruitname();//委托的实例变量指向一个方法
}
}
class Apple
{
public void AppleName()
{
Console.WriteLine("My name is Apple!");
}
}
class Banana
{
public void BananaName()
{
Console.WriteLine("My name is Banana!");
}
}
}