设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 VB.NET面向对象的实现(7)对象的处理
 日期:2006-1-20 9:59:40  来源:百当软件园


obj.MyMethod()

End Sub

End Module

如果对象传递这个程序(没有一个无参数的MyMethod方法),那么就会出现一个错误。这里推荐,使用晚的捆绑的代码要总是提供错误俘获:

Option Strict Off

Module LateBind

Public Sub DoSomething(obj As Object)

Try

obj.MyMethod()

Catch

(这里可以进行一些适当的处理来给出调用这种方法的错误)

End Try

End Sub

End Module

虽然晚的捆绑比较灵活,但它容易导致错误并且比起早的捆绑更慢。为了产生晚的捆绑方法的调用,.NET程序必须动态地判断目标程序是否由一个方法来匹配我们调用的方法,并且它必须调用那个方法。这会比早的捆绑花更多的时间,因为早的捆绑能够提早知道方法的存在并且编译代码以使得调用变得很直接。
晚的捆绑和反射

.NET框架支持反射的概念。反射是这样一种编写代码的能力,这些代码可以检查其它.NET代码并判断它们的组成。System.Reflection名空间支持反射。

反射允许我们编写代码来检查在方法、属性和时间的类,这些类应用于其它类中。我们可以使用反射来创建这些类的实例并调用这些方法。这个处理过程很象晚的捆绑,它们都是动态的。

实际上,VB.NET使用反射来执行晚的捆绑。VB.NET不是强迫我们编写代码来使用以发现和调用方法,它是在我们使用晚的捆绑编码技术的时候来发现和调用方法。

我们可以在VB6中使用typelib DLL(动态连接库)来执行一个反射受限的窗体。在DLL中的函数允许我们动态地发现在COM DLL中的类和方法,并且调用它们。

CType函数的使用

使用对象数据类型来传递对象引用并在我们需要处理它们的时候将它们转换为适当的类型是十分有用的。这一切可以通过使用Ctype函数来实现,它允许我们使用类型对象的变量来使用早的捆绑方法调用:

Module LateBind

Public Sub DoSomething(obj As Object)

CType(obj, TheClass).MyMethod()

End Sub

End Module

我们使用CType方法来暂时将变量转换为一个特殊的类型而不管TheClass的类型。Ctype函数是很有用的,特别是我们处理对象来执行多个界面的时候,因为我们可以引用一个对象变量并且它可以转换为适当的类型。举个例子,如果我们有一个类型的对象TheClass,这个对象执行MyInterface,那么我们可以这样来编写代码:

Dim obj As TheClass

obj = New TheClass

CType(obj, MyInterface).DoSomething()

不象VB6,我们可以在VB.NET中利用早的捆绑调用对象中的其它界面而不需要声明新的界面类型的变量。

本新闻共2页,当前在第2页  1  2  

相关文章

·“超级链接”在VB6下的实现方法 
·VB技巧点滴
·VB.NET面向对象的实现(9)可视化继
·VB.NET面向对象的实现(8)交叉语言
·VB.NET面向对象的实现(6)界面
·VB.NET面向对象的实现(5)事件
·VB.NET面向对象的实现(4)共享或类
·VB.NET面向对象的实现(3)继承
·VB.NET面向对象的实现(2)对象的生
·VB.NET面向对象的实现(1)创建类


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作