///声明事件
/// 1、声明一个委托
/// 2、声明一个事件
/// 3、引发事件的方法
/// 4、定义事件处理方法
///使用事件
/// 1、实例化事件发布者
/// 2、实例化事件订阅者
/// 3、订阅事件
/// 4、触发事件
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleTest
{
class Program
{
private const string url = "http://www.cninnovation.com";
static void Main(string[] args)
{
CustumerEvent custumerEvent = new CustumerEvent();//实例化事件发布者
RunSport runSport = new RunSport();//实例化事件订阅者
custumerEvent.eventRun += runSport.Run;//订阅事件
custumerEvent.eventRun += () => { Console.WriteLine("begin the race"); };//lambda表达式订阅事件
custumerEvent.Begin();//触发事件
Console.ReadKey();
}
}
public class CustumerEvent
{
///声明事件
/// 1、声明一个委托
/// 2、声明一个事件
/// 3、引发事件的方法
/// 4、定义事件处理方法
///使用事件
/// 1、实例化事件发布者
/// 2、实例化事件订阅者
/// 3、订阅事件
/// 4、触发事件
public delegate void delegateRun();//声明一个委托
public event delegateRun eventRun;//声明一个事件
/// <summary>
/// 引发事件的方法
/// </summary>
public void Begin()
{
eventRun();
}
}
public class RunSport
{
/// <summary>
/// 定义事件处理方法
/// </summary>
public void Run()
{
Console.WriteLine("开始比赛");
}
}
}