那天去微软网站找东西,不小心看到了开发VS2005 的组件和Express Beta版本下载,于是就把它们下载了来下来试用。现在就把我使用开发VS2005 期间的感想,向大家叙述一下。
这次提供下载的是VS2005 Express Beta 1版包括VB、C#、VC++、J#、WebDev和SQL Server的2005版本,但都是Express即精简的版本,只提供了最基本的功能。另外与之配套提供下载的还有.NET Framework 2.0、VJ# Redistributable Pack 2.0和精简版的MSDN。这也东东也可以向微软订购免费的光盘,可惜要支付$30的邮费。
#t#我依次安装了.NET Framework 2.0、VJ# Redistributalbe Pack和SQL Server 2005。然后安装VC++(其它几个包还在下载中)。整个过程都相当的顺利,除了SQL Server安装程序提醒我我的机器配置太低外先来看看VC++吧。
Definition面板的功能我在Source Insight中见过,还是比较有用的,就是当编辑区中光标落在某个标识符上时,Definition面板中将相应显示出这个标识符的定义供你参考,并可以迅速切换到相关的位置以便修改。
Call Browser面板则可以显示出一个方法调用了其它哪些方法以及这个方法在哪些地方被调用过。感觉上这个功能对代码重构会很有帮助。很遗憾在VC++中没有找到重构的功能,好像只是在VC#中实现了。
VC++从2003版开始支持了Windows Forms的可视化设计,在2005版中,窗体设计功能也有了不少的进步,最明显的就是控件自动对齐功能,省去了原先很烦的对齐控件的操作。智能标记的功能(如果用过VS2003做ASP.NET就会注意到控件角上会有一个绿色的小三角,这就是智能标记功能,但那时并没有用)也开始在部分控件上使用。窗口设计器还增加了一种称为Property Editing View,可以对控件的常用属性进行十分方便的修改。
同时,就Windows Form本身而言,.NET 2.0也为它增加了不少的控件,新的DataGridView控件取代了原来的DataGrid,还增加了Serial Port(操作串口)、BackgroundWorker(多线程)、WebBrowser(对WebBrowser ActiveX控件的托管封装版本)等不少实用的组件。很遗憾的是我没有在这个Express版中找到对ADO.NET的支持,所以对数据访问还没有能有所认识。
其实开发VS2005 5最大的变化恐怕并不是开发环境的变化,由于原先VC用于支持.NET的Managed C++语法实在过于麻烦难看,所以VC2005引入了全新的语法来支持.NET,这就是最近的一个热门话题C++/CLI,它对标准C++进行了扩展,目前正在进行国际标准化的工作。关于C++/CLI的新特性,我正在学习中,随后将贴文总结。
今天我们一起来详细探索一下VC++2005中C++/CLI为我带来了哪些新的特性。首先,C++/CLI引入了一些新的数据类型关键字:
ref class/ref struct、value class/value struct、interface class/interface struct、enum class/enum struct,在C++/CLI中
class和struct不具有C#的语意,而是仍然保持在C++中的区别,即默认的访问级别不同。在C++/CLI中,ref class/ref struct具有C#中lass的语意,而value class/value struct具有struct的语意。相应的interface class/interface struct和enum class/enum struct分别类同于C#中interface和enum的语意。在这里,以ref class为例,虽然它们是两个单词,但它们共同组成了一个关键字,也就是说,在C++/CLI中,关键字中可能会包含空格。
开发VS2005 就是要把多个单词合起来理解成是一个关键字,而不能把它们孤立开。在C++/CLI中,关键字还分为上下文敏感和上下文不敏感的,前面提到的关键字都是上下文不敏感的,即它们无论出现在哪里,都表示是关键字,不能用作标识符。而上下文敏感的关键字则只在它们应当出现的地方才作为关键字,否则将不具备任何特殊的含义,包括可以作为标识符使用。