在C#编程中,随处都可以引用到事件的,那么事件是一个什么东西呢?事件其实就是一个或多个方法的委托。
即当某个方法发生变化时,委托就会自动调用,这有点类似于,观察者模式。从而delegate方法会被执行。
语法声明步骤:
- 声明一个委托
- 以该委托声明一个事件关键字event如:
修饰符 event 委托(声明方法名)标识符(方法、属性等); - 在类中声明与其相关的方法与事件相联系。
- 使用事件(调用事件)
简单撸一下代码吧
namespace EventTest2
{
public class MyEventTest
{
//1、声明一个delegate
public delegate void HandlerMyDelegate(int i);
//2、声明一个事件
public event HandlerMyDelegate MyEvent;
//3、该方法用来调用事件
public void MyEventFuntion(int i)
{
if(MyEvent != null)
{
MyEvent(i);
}
else
{
Console.WriteLine(i);
}
}
}
public class Program
{
private static void EventFun(int i)
{
Console.WriteLine("i--->{0}",i);
}
public static void Main()
{
MyEventTest e = new MyEventTest();
//注册一个委托
e.MyEvent += new HandlerMyDelegate(EventFun);
//调用事件方法
e.MyEventFuntion(10);
Console.ReadKey();
}
}
事件的声明是离不开委托的,所以在学习中要好好分析事件的使用demo下载