vb.net下雪 vbnet doevent( 六 )


4.2.2Handles和WithEvents
VB除了可以用C#那样的方法来处理事件响应以外 , 还有从VB5继承下来的独特的事件处理方式——WithEvents 。
我喜欢称这种事件处理方式为静态的事件处理,书写响应事件的方法时就已经决定该方法响应的是哪一个事件,而C#则是在代码中绑定事件的 。VB中WithEvents静态方法是非常有用的,它可以显著增强代码可读性,同时也让VB.net中的事件处理非常方便,不像C#那样离开了窗体设计器就必须手工绑定事件 。
4.2.3类型转换运算符
在Visual Basic 2005中将加入一个新的运算符——TryCast,相当于C#的as运算符 。我一直希望VB有这样一个运算符 。VB目前的类型转换运算符主要有CType和DirectCast 。他们的用法几乎一样 。我详细比较了一下这两个运算符,得出以下结论:
1.在转换成引用类型时,两者没有什么区别,都是直接调用castclass指令,除非重载了类型转换运算符CType 。DirectCast运算符是不能重载的 。
2.转换成值类型时,CType会调用VB指定的类型转换函数(如果有的话),比如将String转换为Int32时,就会自动调用 。
4.2.4默认属性和属性参数
在原先的VB6里,有一项奇特的功能——默认属性 。在VB6中 , 对象的名称可以直接表示该对象的默认属性 。
4.2.5可选参数和按名传递
VB从4.0开始支持“可选参数”这一特性 。就是说 , 函数或子程序的参数有些是可选的,调用的时候可以不输入 。其实VB从1.0开始就有一些函数带有可选参数 , 只不过到了4.0才让用户自己开发这样的过程 。在VB4里,可选参数可以不带默认值,而在VB里,如果使用可选参数,则必须带有默认值 。在调用的时候,VB若发现参数被省略 , 则自动读取.param部分的默认值 , 并显式传递给过程 。这一部分完全由编译器处理,而且没有任何性能损失,和手工传递所有参数是完全一样的 。至于按名传递,VB会自动调整参数的顺序,其结果与传统方式的传递也没有任何的不同 。这说明我们可以放心地使用这项便利 。而且带有可选参数的过程拿到C#中,顶多变成不可选参数,也不会造成什么其他的麻烦 。
PS.很多COM组件都使用了默认参数,而且有些过程的参数列表非常长,在VB里可以轻松地处理它们,而在C#中经常让开发者传参数传到吐血 。
4.2.6在经过对比之后可得以下一个结论:
1.目前的主流编程语言没有简单的,如果你想学精通的话 。
2.VB的门槛比较低 , 编程思想较容易接受 。
3.学习C不能短期内见到成效 。
4.据用户调查69%的考生觉得VB更容易接受
致谢
在本次课程设计中,我从指导老师牛荣和李鹏身上学到了很多东西 。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅 。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导 。
另外 , 在游戏开发过程中化希耀老师和杜义君老师也给于我们很大的帮助,帮助解决了不少的难点,使得游戏能及时开发完成,还有所有的同学同样给与我不少帮助 , 这里一并表示感 。
参考文献:
[1]Vsual Basic 程序设计教程 作者:龚沛曾,陆慰民,杨志强 高等教育出版社出版
[2]Vsual Basic 6.0程序设计 作者:刘新民 , 蔡琼,白糠生 清华大学出版社出版
[3]80例上手 VB6 编程 作者:唐凯军,汤惠莉 山东电子音像出版社
[4]Vsual Basic 实例教程 作者:卢毅 科学出版社出版

推荐阅读