委托的声明
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;
………………………………
………………………………
………………………………
不是太理解还有继续研究……
………………………………
分享到:
相关推荐
基于迷糊控制的小车研究 基于迷糊控制的小车研究 基于迷糊控制的小车研究 基于迷糊控制的小车研究
初学.net委托迷糊人的朋友,看看俺超精简的代码能不能帮到你,代码中有部分注解能够快速引导你去理解委托,弄明白了告诉俺一声,一起高兴高兴,嘿嘿!
……………………该文档为迷糊娃娃桌面图标下载,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
20几岁了,别再犯迷糊............................
通达信指标公式源码 迷糊K线结合融胜轨道【班门弄斧好玩K线】.doc
PJBlog2 迷糊娃娃V1
本文利用双线性插值的方法 ,固定并适当选取方向微分的微元大小 ,构造出3 ×3方向微分乘子 ,得到了高效高精度的自动鉴别运动模糊方向的新方法 ,并通过数值实验进行了验证。
Bo-Blog 迷糊公主模板
凡从事过ST MCU应用开发的人往往会遇到事件、中断事件 中断三个概念或术语。这三个概念彼此关联,有时会让人有点混淆或犯迷糊。 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一个STM32...
SSM框架搭建 增删改查迷糊查询和分页
通达信指标公式源码 迷糊K线结合融胜轨道.doc
模糊综合评价用于评价实际问题,得出得分,由得分评价。
《万恶迷糊尤物》第三技:笑看混战人1000字.docx
团队成员一共4个,2个后端+2个前端,我作为项目组长并且负责后端功能的实现,其中有一部分的功能就是文件(PDF、Word、图片……)等资源的上传与下载,当时的我对这些很迷糊,不知道如何去实现,于是就学了一段时间...
很好用的一款小软件!可以装扮你的电脑,而且内存占用很小!大家试试吧!
说发现报告的演示文档不齐全,要她迅速带上来,李小姐才发现是自己过于迷糊而少复制了几份文件,但是她更清楚如果这个马虎行为让客户看到,恐怕会对公司造成负面形象,李小姐一时陷入窘境。突然,她想到了公司的...
一. 局域网内的邻居 李小姐是某公司的文秘...突然,她想到了公司的局域网…… 一场危机总算解除了,李小姐通过局域网把文件传输上来,演示人员不动声色的补充了剩下的文件,会议进行得很顺利,大家总算松了口气……
mybatis模糊查询,oracal,mysql,sqlserver三种不同数据库的不同写法
主要介绍了JavaScript面向对象的程序设计(犯迷糊的小羊),需要的朋友可以参考下