资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
VB当中的新语法(扩充方法)简洁的说,扩大方法就是以额外的程序代码替原有的Class(不管你有没有这个Class的源代码,不管是原本系统的Class或是你自己写的)增加新的Method。作法是开启一个新的Module文件,并在当中建立一个Method,例如:Module IntergerExtensionsSystem.Runtime.CompilerServices.Extension()Public Sub Show(ByVal para As Integer)MsgBox(para)End SubEnd Module请留意,肯定要声明在Module当中,并且加上System.Runtime.CompilerServices.Extension()特征关键词 。由于这个函数的参数是Integer,如此一来,就会自动帮原有的Integer类增加了一个Show方法,因此你在编写主程序的时候,会发觉只要用到integer的变量,打个点,就可以自动带出Show方法: 固然,并不是Integer就真的有这个新的Method,更不是继承的观念,纯粹只是Compiler和IDE进展某种程度的 “混淆视听“ 之后的结果。IDE负责让你在开发的时候有intellisense可以用,Compiler则负责去解读这种特别的语法转换成一般呼叫函数的程序代码。使用的方法就是那么简洁,即可让原有的Class增加新的功能,别忘了,使用前要在主程序中Import这个Module。例如:Imports WindowsApplication1.IntergerExtensions(由于我的程序的root Namespace是WindowsApplication1,而Module Name是IntergerExtensions,因此我会这样写)说真的,这个功能我觉得放在Module当中还蛮有点道理的,由于扩大方法其实是Public Shared 类型,且实务上我们可以把一些常用的Method(Sub或Fucntion)集中在一个或数个Module当中,给予适当的Module Name做为区分,这样在编写程序的时候不需要回头找这些Method放在哪一个NameSpace底下,然后再去调用它,反而可以像上图一样,用到Integer的时候就直接调用我们帮Integer编写的扩大方法,由于它根本已经变成(长的像而已,不是真的是)特定类型对象(例如上面例子中的Integer)的方法,所以想用的时候 “顺手“ 就可以用,撰写程序代码时,只需要在该类型的对象旁打个点,就会自动带出符合该类型的对象可用的Method,相当好用。假如你熟识泛型的观念,考试大和大家一起连续往下看,底下这段程序代码很好玩:Public Sub Show(Of T)(ByVal para As T)MsgBox(para)End Sub我们把原本的Integer换成了泛型写法,通过这样的方式,我们在使用扩大方法的时候也更加的便利了:Dim a As Integer = 60a.Show()Dim b As String = “test“b.Show()总的来说,扩大方法的消失,让程序设计的自由度与敏捷度又提高了。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号