本书内容全面深入,涵盖的主题十分丰富,并结合大量典型的代码示例来讲解Visual Basic 2005的核心编程技术。本书共分四部分。首先介绍了Visual Basic 2005的基础知识,然后详细介绍了Visual Basic语言的面向对象特性。之后介绍了有关.NET框架的基本类型。最后介绍了一些高级编程主题,例如线程处理、序列化、PInvoke和COM Interop等。 \r\n 本书在多处指出了Visual Basic 2005与Visual Basic 6之间的区别以及Visual Basic 2005和.NET框架2.0版中的新功能,并介绍了导入和重用现有Visual Basic代码的最佳方式,从Visual Basic低版本升级的用户可以迅速掌握新工具。 \r\n 本书是学习Visual Basic语言的高级参考书,适用于所有Visual Basic 开发人员。
第Ⅰ部分 基础知识\r\n 第1章 Microsoft .NET框架简介\r\n 第2章 基本语言概念 \r\n 第3章 控制流和错误处理\r\n 第4章 使用Visual Basic 2005\r\n 第5章 调试Visual Basic应用程序\r\n第Ⅱ部分 面向对象编程\r\n 第6章 类的基础知识\r\n 第7章 委托和事件\r\n 第8章 继承\r\n 第9章 对象生存期\r\n 第10章 接口 \r\n 第11章 泛型 \r\n第Ⅲ部分 .NET框架编程\r\n 第12章 .NET基本类型 \r\n 第13章 数组和集合\r\n 第14章 正则表达式 \r\n 第15章 文件、目录和流 \r\n 第16章 My命名空间\r\n 第17章 程序集与资源\r\n第Ⅳ部分 高级主题\r\n 第18章 反射\r\n 第19章 自定义属性 \r\n 第20章 线程\r\n 第21章 序列化\r\n 第22章 PInvoke和COM Interop
《微软技术丛书》序
———Ready to Rock 撼动未来,您准备好了吗
“宝剑锋从磨砺出,梅花香自苦寒来”。历经五载精心打造的微软新一代企业级应用平台终于在2005年底,在全球各地开发人员的期待中走到前台。在Visual Studio 2005,SQL Server 2005和BizTalk 2006中国地区新品发布会上,“Ready to Rock撼动未来”这几个醒目的标识,炫目的产品演示,成功案例探讨,着实让现场所有与会者思潮澎湃,激情飞扬。
Visual Studio 2005是企业级开发管理工具,也是Visual Studio产品发布10年来最具有革命意义的一次升级,它为广大开发人员展示了广阔的发展前景和超前的设计体验。它有很多令人耳目一新的新功能。针对不同层次的开发人员,从新手到企业架构师、开发人员和测试人员,Visual Studio 2005提供了可定制的高生产力的开发工具。这些工具能确保软件开发团队减少开发的复杂程度,促进开发过程中成员之间更好地沟通和协作。微软为Visual Studio 2005 Express Edition提供一年期的免费下载。全球已经有500多万开发人员在使用这个版本。Visual Studio Express Edition全系列产品包括Visual Web Developer,Visual Basic Express,Visual C# Express,Visual C++ Express以及Visual J# Express。
SQL Server作为数据管理分析平台和数据库开发工具,在开发人员当中一直具有良好的口碑。SQL Server 2005是一套全新的管理工具包,它的优点不胜枚举,其中最突出的三点是商务智能(BI)、可编程性和安全性。在商务智能方面,集成数据整合、分析和报表功能,能提供更好的决策支持;提供一种新的数据模型,用于简化异源数据间的连通性问题;提供对XML/A(一种OLEDB的可选方案)的集成支持;提供的数据挖掘工具更成熟。在可编程方面,SQL Server 2005更好地实现了与Visual Studio .NET的集成,它将CLR直接植入数据库引擎,使开发人员能够用Visual Basic .NET或C#之类的语言直接为SQL Server编写程序,从而实现了与微软.NET应用程序架构的紧密协作。在安全性方面,它固有的数据加密、默认安全设置以及强制口令策略功能,足以让开发人员以更高的性能、更高的可用性和更高的安全性运行任何应用。SQL Server 2005 Express Edition也可以免费下载,它提供强大而易用的数据库支持,并与其他Express产品互为补充。
BizTalk 2006是应用中间件,是对微软现有组件的一次升级。它可以适配不同的套装应用软件,其中包括甲骨文eBusiness套件、仁科软件以及Siebel的产品。它的重点是自动化工作流程,用于收集和处理来自射频ID读卡机的数据信息。
针对这三款重量级产品,微软在2006年3月全面推出新生代微软认证。更专业的MCTS,MCITP和MCPD三类新型认证,就是针对Visual Studio 2005,SQL Server 2005和BizTalk 2006来展开的。这三类新型认证又划分许多子认证,如下所示:
1. 认证技术专家(MCTS)证书:
MCTS:SQL Server 2005
MCTS:BizTalk Server 2006
MCTS:.NET Framework 2.0 Web Applications
MCTS:.NET Framework 2.0 Windows Applications
MCTS:.NET Framework 2.0 Distributed Applications
2. 认证IT专家(MCITP)证书:
MCITP:Database Administrator
MCITP:Database Developer
MCITP:Business Intelligence Developer
3. 认证专业开发员(MCPD)证书:
MCPD:Web Developer
MCPD:Windows Developer
MCPD:Enterprise Applications Developer
新认证对于数据库和开发专业方面提出了更高的要求。为配合国内读者认证的需求,我们从微软出版社引进了这套《微软技术丛书
Francesco Balena,从Visual Basic 1.0开始,Frarlcesco Balerla就开始使用这种语言进行编程。他在Microsoft Dress出版了诸多著作,其中包括本书深受欢迎的各先前版本。他是Code Architects的创始人之一,这是一家专门利用Microsoft技术开发企业级解决方案和编程工具的意大利软件公司。此外,他还是MSDN意大利分部的地区经理,经常在开发人员大会上发表演讲。
前 言
寻找一本关于Microsoft Visual Basic 2005的参考书是一件非常容易的事情。等到本书在书店出售时,在书架上会有大量的Visual Basic书籍。那为什么要购买这本书呢?它有什么与众不同之处呢?当我开始编写本书时,我经常向自己提出类似的问题。一本书如何与Microsoft Visual Studio手册以及在Internet上能够找到的所有示例和提示竞争?要回答这个问题,我需要先简短地回顾一下历史。
Visual Basic的过去与未来
我从20世纪90年代早期开始教授Visual Basic,那时距离Visual Basic .NET诞生还是很遥远的,所以那时我讲授 Microsoft QuickBasic(并为其撰稿)。在开始时,必须使用GoTo语句才能完成任务,到现在它已经具有了面向对象功能,我见证了这个语言的整个发展历程。在这20年里,什么都改变了,但只有一个例外:开发人员总是没有充分利用这种语言,有时甚至是错误地使用了这种语言。
例如,Microsoft Visual Basic 4率先提供了定义类的功能,但很少有开发人员在应用程序中实际使用类。与同事们相比,那些能够使用类的一小部分开发人员能够更容易地紧跟Microsoft .NET框架潮流,可以在更短时间内提供功能更强大的Visual Basic .NET应用程序。另一个例子:Microsoft Visual Basic 6 开发人员能够在断开连接模式下,使用客户端记录集通过ActiveX数据对象(ADO)来访问数据库,但很多开发人员宁愿忽略这一功能,而继续使用简单易用但可缩放性较差的服务器端游标。(他们在编辑大型客户端/服务器应用程序时会遇到非常严重的问题。)
Visual Basic .NET的2002版和2003版都是功能非常强大的开发平台,但是我看到许多开发人员都未能利用它们的充分潜力。例如,线程、反射和自定义属性实际上都可以对编写应用程序的方式产生革命性的影响,但只有很小一部分编程人员充分利用了它们。这种语言所提供的功能和大多数开发人员实际使用的功能之间已经有了一道很宽的鸿沟,但到了Visual Basic 2005,这一鸿沟正在变得更宽。在Visual Basic 2005中提供了许多新功能,例如,泛型、自定义事件、运算符重载以及许多其他面向对象的改进。
成为一名更出色的开发人员
关键是:开发人员不再需要另一本参考手册。除了参考之外,开发人员需要理解如何利用旧功能和新功能来建立更为有效、更可靠、可重用性更好和更安全的代码。在编程世界里,经常可以使用两种或多种等价技术来达到相同的结果,但每种技术都有其特有的优点和缺点,经常选择正确的方法可以对最终结果具有非常深远的意义。仅依靠一本参考书远不足以获得辨别这些细微差别所需要的知识。
在编程人员中有一种很常见的误解:要编写一个出色的应用程序,所需要的全部要求就是熟悉.NET框架和相关技术,例如,Window窗体和ASP.NET。的确,要编写实际程序,必须学习这些技术,但熟悉本身并不能代替对低级机制的深入理解,而这些理解使你能够减少内存和资源耗用、采用有效的优化技术,或者充分利用继承来编写更简洁和可重用性更强的代码。我见过很多应用程序,它们具有非常出色的用户界面,但执行速度非常慢,其结构组织方式混乱。维护和改进这些应用程序就像噩梦,如果在编写这些应用程序时能够深刻理解.NET框架的基本知识,那么其维护和改进会节省大量的时间和资金。
许多开发人员可能忽视的另一方面就是深入理解自己花费时间最多的工具:Visual Studio。我发现一个非常具有讽刺意味的现象:大多数开发人员可以花费数小时来争论哪一种语言的效率更高,却不能通过学习来充分利用Visual Studio的全部潜力,例如,如何编写宏、模板和代码段或者如何自定义IDE使其更适合需要或编程风格。
不同于一般的编程语言参考
出于所有这些原因,我决定编写一本不同于普通语言参考的书籍,它能够涵盖这种语言的全部功能,并展现在很好地使用这些功能时所产生的实际情况。但采用这种方式的问题是需要使用大量篇幅。显然,基于这一前提的书籍要远远厚于一本标准的参考书籍,而且也需要花费相当长的时间来撰写。
如果这本书涵盖Visual Basic的所有功能——包括语言功能和Windows窗体与ASP.NET等高级技术,那么它将超出Microsoft Press能够在一本书中容纳的页数,而且它上市的时间必然远远迟于Visual Basic 2005的发行时间。
最后,我发现,对此惟一可行的解决方案是重点讲述这种语言和大多数的.NET框架基础类——内存管理、序列化、线程处理、反射、PInvoke和Com Interop,而省去诸如Windows窗体、ASP.NET Web窗体和Web服务以及ADO.NET等重要主题。这是一个痛苦的决定,但现在这本书完成了,我非常高兴我选择了这一方式。这是一本我考虑了很多年的书,我终于有机会编写它。
即时更新与反馈
尽管我使用Visual Basic、C#和.NET框架已经有很多年了,但我几乎每天都在继续学习一些新东西。您可以通过访问我的网站来了解我的更多发现,我在网站中为本书和所有其他书籍维护了一个主页,网站的URL为:
http://www.dotnet2themax.com
您也可以订阅网站的新闻,接收关于新文章和联机可用代码段的信息。还可以阅读我的英文博客(图I.1),我在其中张贴了有关本书的更新、来自读者的评论、未来微软书籍的计划,等等。
http://www.dotnet2themax.com/blogs/fbalena
提示 选择Books目录可以阅读有关本书及其他待出版书籍的帖子。编写本书是一个挑战。我想(也希望)我出色地完成了这件工作,但我非常愿意听取您的评论、反应以及改进建议。您可以在我的博客上留言评论,也可以发送电子邮件至fbalena@dotnet2themax.com或fablena@codearchitects.com。
图I.1 我的博客
本书的对象
简而言之,本书面向所有Visual Basic 2005开发人员。
具体来说,本书面向以下人员:
已经使用Visual Basic .NET的2002版和2003版编写过应用程序并希望尽快学习Visual Basic 2005新功能的开发人员;
那些面临着要将其技术和应用程序转换为Visual Basic 2005和.NET框架艰巨任务的Visual Basic 6程序员;
已经熟悉了另一种编程语言(例如,C,C#,C++,Java或Borland Delphi)并希望快速学习如何编写Visual Basic 2005应用程序的程序员;
任何希望通过利用Visual Basic和其他.NET框架技术的面向对象功能(例如反射和自定义属性)来编写可靠、可维护应用程序的专家级程序员
当然,并不是上述群体中的每个人都需要同等关注本书中的所有章节。例如,Visual Basic初学者可能要花费大多数时间来融会贯通本书的前半部分,而专家级的程序员会发现后半部分更有吸引力。Visual Basic .NET 2003版的开发人员可能关注散布在本书各处的一些章节,例如第4章(使用Visual Studio 2005)、第5章(调试Visual Basic应用程序)、第11章(泛型)和第16章(My命名空间)。
由Visual Basic 6向Visual Studio 2005转换的开发人员应当仔细阅读标有这一图标的章节。在这些章节中,重点介绍了这两种语言的重要区别,以及在从Visual Basic 6应用程序移植到.NET框架时可能遇到的敏感问题。
标有这一图标的章节描述了在Visual Basic 2005版或.NET框架 2.0版中增加的功能。注意,有一些功能非常重要,所以我专门设立整章来说明它们,在这些情况下,只在该章的顶部标示这一图标。而对于一些非常微小的改进则在文中提及,没有专门设立章节来进行描述。
本书的组织
本书大体分为四部分。
第I部分的前三章涵盖了此语言的基础知识。如果您不是Visual Basic的初学者,尽管可以在其中获得一些有意义的提示,您也可以略过这三章。如果您以前使用Visual Basic 6或Visual Basic .NET 2003进行编程,那么可以只简要浏览标有Visual Basic 6和新功能图标的部分,如前节所述。但是,无论您对Visual Basic的熟悉程度如何,我都建议您仔细阅读第4章和第5章,因为它们解释了Visual Studio的许多新功能,并说明了在后续章节会用到的概念。
第II部分主要介绍Visual Basic语言的面向对象特性。再次说明,如果您已经熟悉Visual Basic .NET,您可能希望在标有新功能图标的章节多花费一点时间,但我建议您阅读第7章和第9章,因为它们说明了可以显著提高编程技能的高级技术。第11章是必读部分,您可以从中学习更多有关.NET框架2.0版的最迷人、最重要的新功能。
第III部分是关于.NET框架的基本类型。第16章包含了对这一Visual Basic新功能的深入介绍,但您肯定可以在本部分的所有章中找到许多有用信息。例如,第13章说明如何更好地处理.NET框架复杂数据结构(包括普通集合)。我最喜欢的一章是第14章,在这一章里,描述了我所掌
无封面