一.事件的由来
1)
委托也是一种类型,根据面相对象的特性,通常会把一个类型的变量封装到类的内部,并把其设置成private的,然后通过属性来访问该变量,所以在实际编程时委托类型也会定义在类里面。
2)
使用event 关键字来修饰委托变量,其实质上是委托变量的属性。
using System;
namespace LearningSummary
{
//声明一个带参数的委托Greeting(string name)
public delegate void Greeting(string name);
class MainClass
{
public static void Main(string[] args)
{
GreetingManager greetingmanager = new GreetingManager();//初始化委托
greetingmanager.MakeGreet += EnglishGreet; //事件开始付值时不需要初始化
greetingmanager.MakeGreet += ChineseGreet;
greetingmanager.GreetPeople("涵"); //调用上面两个方法;
}
public class GreetingManager
{
public event Greeting MakeGreet; //定义一个委托事件
public void GreetPeople(string name) //这是之后要调用的方法
{
if (MakeGreet != null) //一定要判断事件是否为空,不然当事件为空会报错
{
MakeGreet(name); //这个和委托的调用一样的
}
}
}
public static void Engl