正在阅读:微软Visual Studio2005开发工具路线图详解微软Visual Studio2005开发工具路线图详解

2005-11-11 11:32 出处: 作者:MSDN 责任编辑:xietaoming

Visual C#

  在 Visual C# 2005 中,Microsoft 计划在 C# 中注入多种语言和代码编辑器功能,这些功能将为 C# 开发人员提供“专注于代码的 RAD”,从而提高创建业务框架和可重用的面向对象组件的工作效率。这些功能包括泛型、迭代器、匿名方法、不完全类型以及重构。

  随着项目的复杂性不断提高,程序员经常需要一种方式来更好地重用和自定义现有的基于组件的软件。为了达到这样一种高级代码重用,程序员通常利用一种称为泛型的功能。在 Visual C++ 2005 中,CLR 包含一个类型安全、高性能、编译时验证版本的泛型,与 C++ 中的模板以及为 Java 语言提供的泛型相比,该泛型的语法稍有不同,而实现则有很大区别。泛型使开发人员能一次性地创作、测试和部署代码,然后将这些代码重用于多种不同的数据类型,而性能影响可忽略不计。与其他强类型实现相比,CLR 的泛型实现还将减小代码膨胀,从而使源代码更加易于阅读和维护。

  下面的示例,创建一个一般性的 Stack 类,该类将接受为其创建的类型,并以本机方式存储该类型的数据,而不是强制与基类类型进行转换:

public class Stack
{
private ItemType[] items;

public void Push(ItemType data)
{
...
}

public ItemType Pop()
{
...
}
}

  一般性的 Stack 类使用的类型只在实例化时指定。在该示例中,通过在实例化语句中使用尖括号表示法将基元整数类型指定为参数,指示 Stack 类使用该类型:

Stack stack = new Stack;stack.Push(3);int x = stack.Pop();

  除通过泛型提高代码重用性以外,Visual C# 还将提供对迭代器的支持,以便消除与实现枚举数模式相关联的、频繁重复的事务性工作。基于研究型语言(如 CLU、Sather 和 Icon)中的类似功能,迭代器使类型易于声明 foreach 语句对其元素进行迭代的方式。C# 编译器会自动将迭代器代码转换为适当的类,而无需创建类和生成状态机,以便手动实现枚举数模式。

  匿名方法是实用的语言构造,让使用 Visual C# 2005 的程序员能够创建可封装在委托中且后期执行的代码块。它们基于称为 λ 函数这一语言概念,类似于 Lisp 和 Python 中对应的语言概念。匿名方法在其使用时动态定义,而不是作为特定类的命名方法预定义。匿名方法使某些类型的操作更加方便,尤其是方法签名或方法体在运行时需要更改的情况。

  该示例使用一个匿名方法直接修改窗体上的列表框,放弃为该类创建全新方法的做法,而是直接引用那里包含的可执行步骤。用于修改该列表框的代码存储在紧跟委托创建语句之后的执行范围内:

   public class MyForm
   {
      ListBox listBox;
      TextBox textBox;
      Button button;

      public MyForm()
      {
      listBox = new ListBox(...);
      textBox = new TextBox(...);
      button = new Button(...);
      button.Click += new EventHandler(sender, e)
      {
         listBox.Items.Add(textBox.Text);
      };
     }
   }

  Visual C# 2005 还使 C# 开发人员能够使用不完全类型将包含大量源代码的类型分割到多个不同源文件。不完全类型提供更方便的开发和代码维护,使开发人员能够分隔计算机生成和用户编写的类型部分,以便更有效地补充或修改由工具生成的代码。

  除扩展 C# 语言以外,Visual C# 2005 还为 C# 开发人员引入一些代码编辑器增强功能。其中一项增强功能是代码重构,即以规范的方式重新组织代码的过程(图 9)。通过重构,C# 开发人员可在编写代码以后改进代码的设计和效率。Visual C# 2005 包含下列重构类型:重命名、封装字段、更改方法签名、提取方法和提取接口。


9. 重构使开发人员能够有效管理组织混乱的代码。

  其他 C# 代码编辑器增强功能包括:公共编码构造(如循环和 try/catch 块(图 10))的“填充空白”代码扩展、对于属性和泛型的改进的智能感知支持,以及一组丰富的、用于自定义 IDE 格式化 C# 代码的方式的选项。


10. 代码扩展为公共编码构造提供模板。

  通过致力于语言革新,C# 仍将是很多框架设计人员和软件架构师首选的语言。通过用面向组件的功能、现代语言构造和代码编辑器增强功能来补充它的现代语法,C# 将继续信守与专注于代码的 RAD 有关的承诺。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品