c#重点知识解答(五)--

c#重点知识解答(五)--

ID:22369969

大小:60.50 KB

页数:6页

时间:2018-10-28

c#重点知识解答(五)--_第1页
c#重点知识解答(五)--_第2页
c#重点知识解答(五)--_第3页
c#重点知识解答(五)--_第4页
c#重点知识解答(五)--_第5页
资源描述:

《c#重点知识解答(五)--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、c#重点知识解答(五)>>第五章:代理代理实现的是象c++等语言的指针功能,不同于函数指针,代理是一种面向对象、安全类型的。代理事派生于公共基类(system)的一种参考类型,方法被压入一个代理中,对于实例方法被称为实例的组成实体或关于实例的方法,而静态方法,被称为类的组成实体或类方法。代理的强大功能是它可以自动的匹配方法,而不管其类型。写一个代理包括三个步骤:写代理、实例化、调用。代理的声明使用以下语法:delegatevoidSimpleDelegate();实例化一个代理classTest{st

2、aticvoidF(){System.Console.ultiCall(SimpleDelegated,intcount){for(inti=0;i<count;i++)d();}}我们可以看到对于方法的调用是通过代理来完成的,调用时并不需要知道被调用她的类型。代理在我看来好比是对象要一件事她不直接地调用这个方法,而是通过一个中间人去调用她。下面就代理的强大功能进行详细介绍:首先然我们实现一个这样的功能,考虑一下该如何用指向基类的对象调用子类的成员函数。在这里程序员是不是点怀恋指针了,不过在c#

3、中这样的功能完全也可实现的,使用一个单独的代理我们可以完成这项功能。以下代码来自TimothyA.Vanover文章。namespaceDelegatesCS{usingSystem;publicclassom");}~Dad(){}}publicclassMom:Parent//子类{publicMom(){}publicoverridestringAdvice(){return("ListentoyourDad");}~Mom(){}}publicclassDaughter//不继承与基类的类{p

4、ublicDaughter(){}publicstringAdvice(){return("Iknoparents=ne();ain(){Dadd=nem=ne();Daughterg=ne));//以下为未衍于基类的类,如果调用将出错。//Console.ouseDo.ouseEventHandler(this.Form_MouseDoembersButton指示哪一个键被压,分为左、右、中、无。Clicks指示鼠标压下次数及释放状态。Delta指示鼠标转动数量计数X鼠标点击x坐标点Y鼠标点击y坐标

5、点EventHandlerprivatevoidForm_MouseDown(objectse12下一页>>>>这篇文章来自..,。nder,System.ouseEventArgse){s中测试你的程序,你会看到通过代理事件被关联了。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!classI{publicI(){}~I(){}publicvoidIDoLoveYou(){System.C

6、onsole.ain(){Ii=newI();HERher=newHER();TELEPHONEtelephone=newTELEPHONE();telephone.hello();TELEPHONE.heartchattell=newTELEPHONE.heartchat(i.IDoLoveYou);tell();TELEPHONE.heartchatanswer=newTELEPHONE.heartchat(her.IDo);answer();TELEPHONE.heartchatask=newT

7、ELEPHONE.heartchat(i.why);ask();TELEPHONE.heartchatnoanswer=newTELEPHONE.heartchat(her.slient);noanswer();}}上一页12>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。