C# 中委托

委托这个东西,只可意会不可言传,如果理解不了时候如鲠在喉,总不自在。但,我相信,总有一天你会恍然大悟。

我恍然大悟了,那就把悟出来的东东说说。

其实其实委托就是为了适应不可预知的东西。

就像你在窗体上放个按钮,天知道你想干什么呢?但是天知道你肯定想干点什么!既然知道你肯定想干点什么,而且干的事情肯定跟这个按钮有关系。这个时候,委托就出现了,操作系统就把点击这个按钮要做的事情委托给你了。操作系统就写个方法名(委托名),然后把按钮以及点击事件当作参数,然后,然后你就完成这个方法就好了,比如你想弹出一个对话框,如下代码:

        private void btnStartListening_Click(object sender, EventArgs e)

       {

               MsgBox.Show("hello,world!");

       }

object sender, EventArgs e,这两个参数第一个是事件的源(按钮),第二个是什么事件(点击),然后你可以利用这两个参数来实现你想做的事情啦,当然你也可以不用这两个参数(不是废话)。

委托系统已经为你做好了,甚至你自己需要写的方法也被系统给你安排好了,你要做的只是打上“MsgBox.Show("hello,world!");”。运行的时候系统会把“btnStartListening_Click”这个方法当作参数传递给一个委托实例的。

这个时候,你应该明白,C#中的事件是用委托来实现的。

你理解了吗?

 

posted on 2013-05-09 21:10  破孩  阅读(396)  评论(0编辑  收藏  举报