注意:本文是在产品发行前编写的,因此无法保证内文细节与实际产品完全相符。本文的信息仅代表文件出版时产品的情况,只可作为计划时参考。文件中信息如有变更恕不另行通知。
简介
microsoft visual studio 的下一版 (代号为 whidbey) 明显增强了 c# 的功能,包括创新的语言结构、新编译器功能、大幅提升了开发人员的生产力、加强调试功能等等。在程序语言创新功能方面,c# whidbey 发行版本支持泛型(generics)、iterator (迭代器)、部份类型,以及匿名方法。 whidbey 的新编译器功能可让开发人员直接在代码中禁用编译器警告,或验证 ecma/iso 一致性。 whidbey 也将具有数种生产力增强功能,包括重构 (refactoring)、 代码展开、代码格式化、增强 intellisense 等许多功能。调试功能也有加强,新功能包括增强的 datatips (信息快显)、调试的可视化工具、设计时的表达时式评估等等。 本文仅概括地介绍 whidbey 中的新功能,我们将继续加入客户所需的新功能。
语言创新功能
泛型
泛型是 whidbey 中 c# 语言最主要的新功能之一。 c# 的泛型可允许类、结构、接口与方法,依其存储与处理的数据类型加以参数化。 泛型所以好用,因为许多常见类别与结构,可依其存储与处理的数据类型加以参数化。这些称为“泛型类声明”和“泛型结构声明”。同样地,许多 接口定义合约,可依其处理的数据类型加以参数化。这些称为“泛型接口声明”。方法也可依其类型加以参数化,以便实现“泛型算法”,这些称之为“泛型方法”。
在下面的例子中,我们创建了一个 stack 泛型类声明,其中指定了类型参数,叫做 itemtype,在声明之后的尖括弧中予以声明。 泛型 stack 类实例不会强迫在对象之间来回转换,而是接受创建时的类型,并不加转换地存储该类型的数据。 itemtype 类型参数的作用有如占位符,直到使用时才指定实际 类型。请注意,itemtype 用于内部项目数组的元素类型、push 方法的参数类型,以及 pop 方法的返回类型:
| public class stack { private itemtype[ ] items; public void push(itemtype data) {...} public itemtype pop() {...} } |
| stack<int> stack = new stack<int>(); stack.push(3); int x = stack.pop(); |
| stack<customer> stack = new stack<customer>(); stack.push(new customer()); customer c = stack.pop(); |
| stack<customer> stack = new stack<customer>(); stack.push(new customer()); stack.push(3); // compile-time error customer c = stack.pop(); // no cast required |
| // form1designer.cs public partial class form1: system.windows.forms.form { // 设计器代码 void initializecomponent() { ... } } // form1user.cs public partial class form1 { // 用户代码 void mouse_click(object sender, mouseeventargs e) { ... } } |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器