vb.net对象扩展 vbnet object类型( 三 )


所以,浏览你感兴趣的对象,发现它们做些什么实际上很有意思 。
Visual Basic.NET 的面向对象功能提供了很多实在的好处 。很多情况下,VB.NET
面向对象的本质和实现的继承性能帮助你比在以前的 VB 版本里更容易、更迅速地创建
特定类型的功能 。然而,你不一定要仅仅因为你能做到,就使用实现继承性或其它 .NE
T 功能 。VB.NET 的新功能使开发许多类型的应用程序变得更简单!但是 , 就像使用所有
的语言能力一样,你需要使用的是在特定场合下最适合的功能 。
自由线程的危险
对于自由线程可能需要特别给出警告 。VB6允许你使用独立的线程来创建多线程服务
器程序,但VB过去从来没有让你能创建自由线程的客户端程序 。VB.NET 改变了这一切 。
现在 , 创建自由线程应用程序几乎成了最微不足道的事情 。实际上,我估计那些没有理
解其中的微妙差别 , 就在他们的应用程序里添加了自由线程的程序员会遇到很多问题 。
只需要几行代码就能启动一个新线程:简单地将线索对象的地址传递给方法,方法本身
就会启动线程 。这确实是很酷也很有用的东西,但你需要小心:这些功能适用于特定的
场合 , 确定哪些是适用的场合并且明智的使用这些工具则是你自己的事 。许多开发者使
用继承性和自由线程时给自己找了不少麻烦,请不要让这些发生在你身上 。
可能大家讨论得最多的 VB.NET 特征就是 CLR (通用语言运行库),VB 运行在它的
顶层上 。是 CLR 提供了 VB.NET 的许多关键功能 。例如,CLR 使实现和跨语言继承性以
及自由线程成为可能 。
分发VB程序要求你同时分发VB的运行库,在VB6里即是msvbvm60.dll 。许多其它语言
也有类似的要求,包括 C++ 和 Java 。在Visual Studio.NET里,所有的Visual Studio
语言共享同一个运行库:CLR 。这里有几个较大的变化,首先,所有的Visual Studio语
言现在都共享同一个IDE、同样的表单引擎、同样的异常处理机制等等 。这意味着Visua
l Basic和像 C#这样的语言拥有同等的地位,至少差不多是同等的 。
回复:
细说VB.NET(中)
(作者:青苹果工作室编译 2001年03月07日 14:47)
易于反编译的中间语言
无论你用VB、C#或其它.NET语言编写应用程序,VS.NET代码都编译成为中间语言(I
L) 。当应用程序运行时,一个即时编译器(JITter)处理IL代码并把它编译成为机器语言
。这意味着在理论上可能为Windows以外的平台创建.NET运行库,但现在关于类似的事情
还没有任何官方消息 。中间语言的一个缺陷是:它像VB5以前的VB版本一样,容易被反编
译 。这种可能性使许多开发者普遍地质疑.NET架构的安全性 。
CLR在IL层次内外影响代码,对它的修改将使所有使用CLR的语言受益 。然而,语言
只是和代码如何被解释为IL有关,对特定语言的优化可以根据特定语言的语法来编写,
这样在技术上就可能使.NET语言之间的性能差别很小 。不管怎样,大体上蓝图是美好的
。例如,CLR使VB的调试和监测工具和C#的相应工具相当,它做到了这一点因为它们本来
就是相同的工具 。
CLR提供不平行的跨语言集成,包括跨语言继承代码的能力 。所有使用CLR的语言共
享一个通用类型系统,它使使用多种语言开发应用程序变得更简单 。我不喜欢把 C API
声明翻译成VB里可以使用的形式,所以我很赞赏通用类型系统带来的好处 。
在CLR中运行的代码被称为被管理代码,被管理代码使用的内存完全由CLR来控制 。

推荐阅读