公司网站建设考核,商城移动端网站开发,学生想搭建网站怎么做,wordpress文件调用1、事件 在C#中事件是一种特殊的委托类型#xff0c;用于在对象之间提供一种基于观察者模式的通知机制。 1.1、事件的发送方定义了一个委托#xff0c;委托类型的声明包含了事件的签名#xff0c;即事件处理器方法的签名。 1.2、事件的订阅者可以通过运算符来注册事件处理器…1、事件 在C#中事件是一种特殊的委托类型用于在对象之间提供一种基于观察者模式的通知机制。 1.1、事件的发送方定义了一个委托委托类型的声明包含了事件的签名即事件处理器方法的签名。 1.2、事件的订阅者可以通过运算符来注册事件处理器。 1.3、当事件发送方触发事件时所有注册的事件处理器会被依次调用。 2、委托事件的实现 2.1、事件发布类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EventApp
{/// summary/// 事件发布类/// /summaryinternal class EventPublish{//定义委托类型它具有事件处理器的签名public delegate void EventHandler(object sender, EventArgs e);//声明事件public event EventHandler OneEvent;//触发事件的方法protected virtual void OnOneEvent(EventArgs e){EventHandler handler OneEvent;handler?.Invoke(this, e);}//示例方法可以在需要的时候触发事件public void TriggerEvent(){OnOneEvent(EventArgs.Empty);}}
}2.1、事件订阅类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EventApp
{/// summary/// 事件订阅类/// /summaryinternal class EventSubscribe{//订阅事件public void Subscribe(EventPublish eventPublish) {eventPublish.OneEvent EventPublish_OneEvent;}//事件处理函数private void EventPublish_OneEvent(object sender, EventArgs e){Console.WriteLine(Event is triggered!);}}
}2.3、委托事件的实现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;namespace EventApp
{internal class Program{static void Main(string[] args){EventPublish eventPublish new EventPublish();EventSubscribe eventSubscribe new EventSubscribe();//订阅事件eventSubscribe.Subscribe(eventPublish);Console.Write(Press Enter to trigger event\n);while (Console.ReadKey().Key ! ConsoleKey.Enter) { Thread.Sleep(100); }//触发事件eventPublish.TriggerEvent();Console.ReadKey();}}
}3、代码说明 在这个例子中EventPublish 类定义了一个委托 EventHandler 和一个基于该委托类型的事件 OneEvent。OnOneEvent 方法是触发事件的方法它检查事件是否有注册的处理器并按顺序调用它们。TriggerEvent 方法用于触发事件。EventSubscribe 类中的 Subscribe 方法用于订阅事件并提供了事件处理器 EventHandler。在 Main 方法中我们创建了 EventPublish 和 EventSubscribe 的实例并通过 Subscribe 方法将 EventHandler 注册到 OneEvent 上。最后通过 TriggerEvent 方法触发了事件控制台上输出了 “Event is triggered”。 4、运行效果