关于委托的定义:具有相同 返回值类型,参数类型,参数顺序 的函数统称为委托 事件是建立在委托之上的,要声明一个事件,必须由对应的委托类型...这也是我刚才网上看到的, 哈哈 简单的做了下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace ConsoleApplication1 { class EatFood { //声明一个 吃东西 的委托 public delegate Int32 EatFoodEvenet(Object People); //声明一个 开始吃 的事件 public event EatFoodEvenet OnBeginEat; //声明一个 吃 的方法(函数、Method....哈哈) public void Eat(Object People) { //输出这个事件执行后的结果 (这里应该较发布事件吧?) Console.WriteLine("I eated {0} breakfast...",this.OnBeginEat(People)); } } class Program { static void Main(string[] args) { //实例化一个 吃东西 的类 EatFood EatDemo = new EatFood(); //这里应该是注册事件吧?? EatDemo.OnBeginEat += new EatFood.EatFoodEvenet(EatDemo_OnBeginEat); //然后开吃(执行方法)... 吃的时候放个匿名类 (吃的人. 吃的什么) EatDemo.Eat(new{Name="Seven",FoodName="BreakFast"}); } //这里就是注册事件后产生的事件方法体 static Int32 EatDemo_OnBeginEat(object People) { //输出一些话 Console.WriteLine("Hello I'm {0},I'm begin eat {1}...", People.GetType().GetProperty("Name").GetValue(People,null).ToString(), People.GetType().GetProperty("FoodName").GetValue(People,null).ToString() ); //随便返回个什么数字 return 1; } } }