2006-11-30

对C#下函数,委托,事件的一点理解!

来源: 本站收集整理 作者:佚名 评论 0 条
 
while(!m_isStop)
{
if(m_isStop){break;}
m_randomNum = m_rand.Next(100);
if(m_randomNum%5==0)
{
if(this.OnError!=null)
{
this.OnError(this,m_randomNum);
}
}
else
{
if(this.OnSomeThingHappened!=null)
{
this.OnSomeThingHappened(this,m_randomNum);
}
}
}
}

public void Stop()
{
m_isStop = true;
}
}
}


好了,全部完了!

最后再从另一个角度来理解:函数,委托和事件!

1、函数,是程序的基本单元,在.net下,有一个很重要的思想,就是:一切对象化!你可把一个int boxing后得到一个object,也可以把一个object unboxing后得到一个int. 可惜,就是没有函数对象化这个概念!?

2、其实函数也可以对象化!就是通过delegate,委托就是把函数作为对象来处理,使它函数也具有了对象的一些特点。在实例化一个委托的时候,就是把一个函数”boxing”。因此,委托本质上就是一个类!它的初始化参数是一个函数名!不同的委托是不同的类,对应不同类型的函数。

3、事件是对委托的一个治理封装,它可以很好的动态治理委托,从而完成很多有实用价值的事情,最主要的就是事件!

完全是个人理解,有不同意见,欢迎讨论!


共5页: 上一页 [1] [2] [3] [4] 5 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Java开源技术:Eclipse的使用技巧详解  
下一篇:C 和C#的语法和功能区别
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号