您的位置:IT教程网首页>软件开发教程>VB教程>VB.NET面向对象的实现(7)对象的处理

VB.NET面向对象的实现(7)对象的处理


晚的捆绑和反射

.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页: 上一页 [1] 2 下一页