VS.NET 2005 Beta 2初体验(1)-用C#开发Managed代码

VS.NET 2005 Beta 2 初体验

在经历了 N 次安装 CTP 不成功的惨痛经历之后( N>4 ),我终于等到了正式的 Beta2 出来,我这次安装的是 VS.NET 的中文标准版, MSDN 的订户现在可以在 MSDN 网站上下载英文的标准版和 Team Suite 版,其他的开发人员可能还要等几天。

好了,废话不说,安装过程和 CTP 的基本一致,安装完成后, VS.NET 2005 的真面目就出现在我们面前了。

怎么样?感觉比 VS.NET 2003 漂亮了不少吧?开始页也不再是分页显示,比较有新意的是在右边占据很大部分的是 MSDN 的开发新闻,是从 MSDN 网站上获取的,不过目前看来好象只有英文的消息。

先写个 DEMO 吧,手已经开始痒了。还是老规矩“文件” - “新建” - “项目”,就出现了下面的界面:

和 VS.NET 2005 Beta1 还是有很多相似的地方,目前还没有 Magneto 的 SDK ,估计离 Magneto 的发布还要有一段时间,真不知道 BillG 在 MEDC 上会拿出什么东西来秀。

继续关心我们的 DEMO 吧。选择 Visual C# 下的“智能设备”中 Pocket PC 2003 中的“设备应用程序”,点击确定。我们会直接进入开发的主界面,而不再需要一个向导了。

好了,这就是智能设备应用开发的主界面了,看起来与 VS.NET 2003 最大的区别就是窗体设计器发生了很大的改变,这也是微软向开发者最早承诺的新特性。我们现在就可以真正开发“所见即所得”的移动应用程序了。其他的改变好象还不是很明显,顺便说一句, VS.NET 2005 的工具条的确是漂亮一些了。

如果改变只有这些,那么微软就不是微软了,我们来按照写一个 DEMO 的思路逐渐开始探险的旅程,首先要往窗体上放一些控件。

请大家注意这些我已经画了红线的控件,记得大家在描述 CF 1.0 开发困难时经常会用这样一句话:“连 DateTimePicker 都不支持”。好了,现在 CF 2.0 终于痛改前非了。 WebBrower 一直都是大家想要的一个东西,这样把浏览器嵌入到自己的程序中就不再是一件难事了。

Notification 这次也以控件的身份出现了,在这之前 OpenNETCF 里的 Notification 类好象是托管程序开发的唯一选择,不过里边竟然有 BUG 。不知道微软的官方类库会不会好一点?另外, DocumentList 、 OpenFileDialog 都是一些非常有用的控件,以前在 CF 1.0 中解决不料的问题,这次看起来简单了好多。

为了实验新控件,我们不再写“ Hello, world ”了,太没技术含量 J 我们往窗体上拖了一个 DateTimePicker 控件和一个 MothCalendar 控件,以及一个 Button 。双击 Button 控件,就进入了代码编辑环境。

这就是 Form1.cs 里的所有代码,大家发现和以前有什么不一样了吗?对了,细心的开发者一定会问,那些控件的构造方法去哪里了?我们来看下面的画面。

大家先看右边的解决方案管理器,在 Form1.cs 下面多出了两个文件, Form1.Designer.cs 和 Form1.resx ,后者无疑是一个资源文件,而前者呢?大家看 Form1.Designer.cs 里的代码是不是有些熟悉?对了,这就是那些控件的构造函数,现在全都搬到另外一个类里去了。除了使 Form1.cs 更简洁外,微软是不是还有其他的图谋,比如 XAML ?呵呵瞎猜的。大家在 Form1 类的声明中可以看到一个新的关键字 partial ,他就应该是这个变化的关键所在了吧?

好了,这个问题我们回头再研究,在编辑代码的时候,我还有点意外的发现,我们来看下:

哈哈,这是什么?重构这个词大家不陌生吧?如果不知道,推荐去看下 Martin Flower 的那本经典。尽管提供的重构功能不是很多,只是“重命名”之类的简单功能,但按照 8020 原则,这些功能就可以解决大部分的重构问题了。记得在那本《重构》中 Martin 介绍了 SmallTalk 下的自动重构工具,这回 VS.NET 已经引入了其中一些功能,看来微软的工程师也在看《重构》。不知道 Martin 的下一本书是不是有兴趣用 C# 来写呢?不过大师的眼睛里已经没有了语言……

继续写代码,将 DateTimePicker 的 Text 属性用 MessageBox 显示出来,很简单。在写代码的过程中,发现自动补齐功能也有新的变化,就是可以显示该方法的一些概要信息。

代码写完就要编译运行了,我们还是要选择部署的位置,模拟器怎么改名叫“仿真程序”了?真不习惯。编译方式和以前一样,按 F5 或者是界面上的那个绿三角。

我在这里发现了一个新模拟器的问题,就是模拟器运行起来,打印屏幕的按键又不起作用了,这个问题在 Pocket PC 2002 的模拟器上曾经出现过, PPC 2003 SDK 里已经解决了,不知道这次为什么又这样?

写了这么多,总要把运行起来的程序给大家看一下呀。最后终于在 VS.NET 2005 的菜单里找到了一个老朋友: Remote Zoom ,这个以前出现在 EVC 中的工具终于被 VS.NET 接受了。和他一起出现的还是那老几位: Remote File Viewer , Remote SPY++ ,不再一一介绍了。想想也正常, EVC 都被 VS.NET 给收编了,这些工具的出现也很正常。 Native 应用开发的事情估计要下回再说了。

好了,最后给大家看看我昨天晚上的劳动成果吧。祝大家今天有个好心情,不过据说沙尘暴要来了,嗨, VS.NET 2005 Beta 2 还真会挑时候……

Published At
Categories with Web编程
Tagged with
comments powered by Disqus