委托与事件(迷糊………………)
来源:互联网 发布:Pusic大数据工程师 编辑:程序博客网 时间:2024/05/19 19:55
委托的声明
public delegate void MyDelegate(string str);
委托是一种特殊的类型--class,用途是来实现对一种方法的封装。在某种事件发生时,自动调用该方法。好处显然易见,它使用户可以自定义自己的方法实现,通过封装,CLR会在相应事件激发时调用你定义的方法,实现你的功能。
1.委托的定义和方法的定义类似,只是在前面加了一个delegate,但委托不是方法,它是一种类型。是一种特殊的类型,看成是一种新的对象类型比较好理解。用于对与该委托有相同签名的方法调用。
例子:
public delegate void SayDelegate(string name);//先声明一个委托:
public class ClassPeople
{
public void SayChinese(string name)
{
Console.WriteLine("你好!"+name);
}
public void SayEnglish(string name)
{
Console.WriteLine("Hello"+name);
}
public void DoWork(string name,SayDelegate MakeSay)//这样就可以一参数的形式进行传递……
{
MakeSay(name);
}
}
class Program
{
static void Main()
{
ClassPeople people = new ClassPeople();
people.DoWork("陈兵辉",people.SayChinese);
people.DoWork("chenbinghui",people.SayEnglish);
Console.ReadKey();
}
}
事件概述
事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息时,它并不知道由哪个事件接收者来处理.这就需要一种管理机制来协调事件源和接收者,C++中通过函数指针来完成的.在C#中事件使用委托来为触发时将调用的方法提供类型安全的封装
事件的声明
1.声明一个委托
public delegate void EventHandler(object sender, System.EventArgs e);
2.声明一个事件
public event EventHandler Changed;
………………………………
………………………………
………………………………
不是太理解还有继续研究……
………………………………
- 委托与事件(迷糊………………)
- 迷糊中……有点神智不清了。。。。
- 委托是什么?委托和委托双方的prop…
- CCKeypadDelegate(Delegate 授权; 委托 ; 派…代表 ;键盘事件委托,就是系统捕捉到键盘事件后交由它或者它的子类处理 )
- 委托与事件(一)什么是委托
- 由"猫,老鼠和主人"引出的委托,事件…
- 委托与事件(转)
- 事件与委托 (本质)
- ios中关于delegate(委托)…
- 委托入门-事件与委托
- ------事件与委托 (定义与用法) 事件与委托的区别 (委托是类型,事件是对象)
- IOS开发使用委托delegate在…
- .net的事件与委托(转载)
- c#委托事件与lambda (整理)
- C#中的委托与事件(一)
- C#中的委托与事件(二)
- C#中的委托与事件(一)
- C#中的委托与事件(二)
- 学好C语言啊!
- 动态创建对象
- USACO算法序列四十九——latin
- 嵌入式Linux之我行——PWM在ARM Linux中的原理和蜂鸣器驱动实例开发
- 关于程序设计的内存分配问题
- 委托与事件(迷糊………………)
- Linux入门二:文件和目录操作
- Linux入门三:用户及用户组管理命令
- Android 面试题目
- CopyU! v2开发进度
- Linux入门四:进程及任务管理命令
- 判断栈的增长方向(转)
- windows系统XAMPP安装配置使用
- 如何将Canvas中内容保存为图片