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)
{