C# 委托事件
2016-02-24 10:33
471 查看
delegate 是表示对具有特定参数列表和返回类型的方法的引用的类型。在实例化委托时,你可以将其实例与任何具有兼容签名和返回类型的方法相关联。你可以通过委托实例调用方法。
委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。你可以创建一个自定义方法,当发生特定事件时,某个类(如 Windows 控件)就可以调用你的方法。下面的示例演示了一个委托声明:
可将任何可访问类或结构中与委托类型匹配的任何方法分配给委托。该方法可以是静态方法,也可以是实例方法。这样便能通过编程方式来更改方法调用,还可以向现有类中插入新代码。
将方法作为参数进行引用的能力使委托成为定义回调方法的理想选择。例如,对比较两个对象的方法的引用可以作为参数传递到排序算法中。由于比较代码在一个单独的过程中,因此可通过更常见的方式编写排序算法。
委托概述
委托具有以下属性:
委托类似于 C++ 函数指针,但它们是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不必与委托类型完全匹配。
[b]委托使用实例[/b]
委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。你可以创建一个自定义方法,当发生特定事件时,某个类(如 Windows 控件)就可以调用你的方法。下面的示例演示了一个委托声明:
public delegate int ProcessHandler(int x, int y);
可将任何可访问类或结构中与委托类型匹配的任何方法分配给委托。该方法可以是静态方法,也可以是实例方法。这样便能通过编程方式来更改方法调用,还可以向现有类中插入新代码。
注意 |
---|
在方法重载的上下文中,方法的签名不包括返回值。但在委托的上下文中,签名包括返回值。换句话说,方法和委托必须具有相同的返回类型。 |
委托概述
委托具有以下属性:
委托类似于 C++ 函数指针,但它们是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不必与委托类型完全匹配。
[b]委托使用实例[/b]
//1.定义事件委托 public delegate void EventHandler(object sender, EventArgs e); //2.声明事件 public event EventHandler Click; /// <summary> /// 事件方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void onClick(object sender, EventArgs e) { MessageBox.Show("AAA"); } //方法一 绑定事件 this.Click += new EventHandler(onClick); this.Click(sender, e); //方法二 实例化委托并加载事件方法 EventHandler eh = new EventHandler(onClick); eh(sender, e);
相关文章推荐
- C# default(T)
- 详解C#设计模式编程中的模板方法模式使用
- 第二章-C#基础
- c#读取xml文件配置文件Winform及WebForm-Demo具体解释
- C#Winform不重复的显示子窗体
- C#知识点汇总(未完成)
- C# 关键字extern用法
- C#调用windows api示例
- C#中利用正则表达式将人民币金额转换为大写汉字
- C#取整函数Math.Round、Math.Ceiling和Math.Floor
- POPTEST老李谈Debug和Release的区别(c#)
- C#使用简单邮件传输协议(SMTP)发送邮件
- C#递归
- c# 扩展方法奇思妙用基础篇八:Distinct 扩展
- C#读写记事本(txt)文件
- C#多线程学习(九)lock,Monitor,Mutex的区别
- 菜鸟学习C#语言之路——入门
- C#中英文混合字符串长度问题
- C# 枚举显示中文
- C#多线程实践(八)Quarzt.net