1、委托是一个类,定义了方法的类型,使得该方法可以作为其他方法的参数。避免了if...else的大量使用。
using System;namespace ConsoleApplication1
{public class GreetPeople{public delegate void GreetEventHander(object sender, GreetEventArgs e);public event GreetEventHander Greet;public class GreetEventArgs : EventArgs{public readonly string name;public GreetEventArgs(string Tem){this.name = Tem;}}protected virtual void GreetWay(GreetEventArgs e){if (Greet != null)Greet(this, e);//调用注册方法}public void Greeting(string name){GreetEventArgs e = new GreetEventArgs(name);GreetWay(e);}}public class GreetWays{public void English(object sender, GreetPeople.GreetEventArgs e){