【原创】C# 委托与事件的传递与封装案例
2017-03-16 14:57
393 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NetworkCommsDotNet; using NetworkCommsDotNet.Connections; namespace DelegateDeliveryExample { // 第一步:声明一个委托 public delegate void NCMessageHandler(PacketHeader header, Connection connection, string message); public static class Program { // 第二步:声明一个委托变量 public static event NCMessageHandler msgHandler; static void Main(string[] args) { // 第三步:将方法作为参数进行传递 NCIncomingPacketHandler(MsgHandler); } public static void MsgHandler(PacketHeader header, Connection connection, string message) { Console.WriteLine(message); } public static void NCIncomingPacketHandler(NCMessageHandler handler) { // 第四步:将传进来的方法注册到委托变量中 msgHandler += handler; // 第五步:调用消息处理函数 NetworkComms.AppendGlobalIncomingPacketHandler<string>("Message", ProcessIncomingMessage); } public static void ProcessIncomingMessage(PacketHeader header, Connection connection, string message) { // 第六步:执行委托变量中注册过的方法 msgHandler(header, connection, message); } } }
相关文章推荐
- C# 事件委托案例
- 委托与事件的简单应用(不同控件之间的控制及参数传递,C# VB)
- C#事件——对委托的封装
- 使用事件和委托再两个窗体之间传递数据(原创)
- C#用委托传递Thread参数及其泛型封装
- C#的委托与事件(张子阳原创)
- C#知识体系(二)用案例来理解委托与事件
- C#中利用委托传递事件
- C#中委托,事件理解入门
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- 用 C++ 实现 C# 中的 委托/事件 (5-functor2)
- C#中的委托与事件[翻译](转)
- C#的事件处理与委托
- C# 事件 委托 教程
- C#里的委托和事件实现
- 事件委托在C#的实现
- C#的委托与Delphi中的"事件委托"
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- C#中的委托与事件[翻译]
- 用C++实现C#中的委托/事件(标准C++之升级版)