C#的事件(Event)和代理/委托(Delegate)例子
2016-11-18 10:01
796 查看
还是看例子最直接。
代理(Delegate)例子:
事件结合代理的完整例子:
重要参考:
http://blog.csdn.net/xiangxiang123123/article/details/8641940
代理(Delegate)例子:
delegate void MyDelegate(string str,int index); // 声明代理 class Test { public static void Show(string str, int index) // 声明方法 { Console.WriteLine("Show"+str+index.ToString()); } public static void Main(string[] args) { MyDelegate md = new MyDelegate(Show); // 1.实例化代理,传入方法 md("hello world", 22); // 2.传入参数 } }
事件结合代理的完整例子:
//事件用到的代理,以般以×××Handler的格式进行命名 private delegate void CryHandler(); // 无参代理 // 玩具小鸭的类 class Duck { // 定义小鸭的唱歌事件 public event CryHandler DuckCryEvent; public Duck() { // 把小鸭唱歌的事件挂接到Cry方法上 DuckCryEvent += new CryHandler(Cry); // 注册事件,传入方法 } // 小鸭唱歌事件对应的处理方法 public void Cry() { Console.WriteLine("我是一只小鸭,呀呀呀...."); } // 小鸭被摇动 public void BeShaked() //执行方法,引发cry事件 { DuckCryEvent(); // 执行事件,传入参数 } } class MyClass { public static void Main3(string[] args) { // 买一只小鸭 Duck d = new Duck(); // 摇一摇小鸭,它就会调触发小鸭的Cry事件,小鸭就会唱歌 d.BeShaked(); } }
重要参考:
http://blog.csdn.net/xiangxiang123123/article/details/8641940
相关文章推荐
- C#编程利器之四:委托与事件(Delegate and event) (上)
- 从callback的角度来理解.NET/C# 中的 委托 (delegate)与 事件 (event)
- C#编程利器之四:委托与事件(Delegate and event) (上)
- C#委托delegate与事件event
- 终于会用c#中的delegate(委托)和event(事件)了 [转]
- C# 委托(Delegate) 事件(Event)应用详解
- c# 关键字delegate、event(委托与事件)[MSDN原文摘录][2]
- C#中的委托(Delegate)和事件(Event)
- c#中的delegate(委托)和event(事件)
- (转)C#中的委托(Delegate)和事件(Event)
- 终于会用c#中的delegate(委托)和event(事件)了
- C#:委托(delegate)和事件 (event)
- c#的委托delegate和事件Event的一步一步详细解释
- 看看可爱c#中的delegate(委托)和event(事件)用法好不好
- C#:代理(delegate)和事件(event)
- 关于C#.Net中事件(event)、委托(delegate)和方法的一点理解
- C#基础笔记——委托(Delegate)和事件(Event)
- 从callback的角度来理解.NET/C# 中的 委托 (delegate)与 事件 (event)
- C#中的委托(Delegate)和事件(Event)
- 委托和事件[delegate and event]_C#