小标
2018-11-14
来源 :
阅读 3010
评论 0
摘要:本文主要向大家介绍了C#编程之C#事件の事件聚合器,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
本文主要向大家介绍了C#编程之C#事件の事件聚合器,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
事件聚合器用于集中管理事件的订阅(Subscribe)和处理(Handle),要使用事件聚合器,首先要理解:事件(event)本质上是一个类。
传统的+=和-=不足:
1、管理很麻烦;2、不方便扩展。
所以尝试使用事件聚合器来解决这个问题。
首先,使用一个统一的接口来实现事件的统一标记:
public interface IEvent{ }
事件,需要有对应的事件处理器(EventHandler),这里使用一个统一的接口 IEventHandler 来进行统一,IEventHandler 只包含一个处理事件的方法 Handle
public interface IEventHandler
{
void Handler(TEvent @event);
}
事件聚合器接口 IEventAggregator 需要包含至少两个方法:订阅(Subscribe)和发布(Publish)
public interface IEventAggregator
{
void Subscribe
void Publish
}
接下来是实现这个接口:EventAggregator
举例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EventAggregatorTest
{
public interface IEvent { }
public interface IEventHandler
{
void Handler(TEvent @event);
}
public interface IEventAggregator
{
void Subscribe
void Publish
}
public class EventAggregator : IEventAggregator
{
// 所有的 event 和 对应的 handler 都注册在这个字典里
private readonly Dictionary<Type, List
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C#.NET频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号