登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发技术 > 正文

深入浅出:探讨C# 委托机制

2012-05-03 11:36    博客 来源:博客  作者: xiangxiong 编辑: 李健

        【IT168 技术】 C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。

  public class AppEvent{

  
//键值对委托的形式

  
public static AppEvent Events = new AppEvents()

  
private Dictionary DelegateList = new Dictionary();

  
#region 装备事件索引

  
public const string Aoi_GeoDraw="aoigeodraw";

  #endregion

  
public void AddListener(string name,EventHandler handler)

  {

  
if(!DelegateList.ContainsKey(name))

  {

  DelegateList.Add(name,handler);

  }

  
else

  {

  DelegateList.Remove(name);

  DelegateList.Add(name,handler);

  }

  }

  
//执行方法

  
public void Dispath(string name,object obj)

  {

  
if(DelegateList.ContainsKey(name))

  {

  DelegateList[name](obj,
null);

  }

  }

  }

  
// 窗体调用

  
// 初始化监听对象

  
private vid InitalizeEventListener(string list_AoiValue)

  {

  AppEvent.Events.Dispatch(AppEvent.Aoi_GeoDraw,list_AoiValue);

  }

  
//事件监听

  
private void InitializeEventListener()

  {

  AppEvent.Events.AddListener(AppEvent.Aoi_GeoDraw,Aoi_GeoDrawEvent);

  }

  
// 触发事件

  
private void Aoi_GeoDrawEvent(object sender,EventArgs e)

  {

  
if(sender!=null)

  {

  txt_Draw
=sender.ToString()

  }

  }
关键字: 软件开发 , C# , 委托
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫一扫关注

行车视线文章推荐

首页 评论 返回顶部