Orcas版C#3.0的新特性

2007-09-21 14:20:03 来源:天极yesky 作者:Scott Guthrie 点击:
微软ASP.NET 和Ajax开发部的头脑Scott Guthrie又在其博客中发布了C# 3.0的一些新特性。其文中重点提及的C#3.0的新特性如下:



  自从微软March CTP版本的Visual Studio和.NET Framework “Orcas”发布以来,许多博客作家都在考察和评论这一版本在run-time macros和code metrics等方面的新特性

  近日,微软ASP.NET 和Ajax开发部的头脑Scott Guthrie又在其博客中发布了C# 3.0的一些新特性。其文中重点提及的C#3.0的新特性如下:

  Automatic properties——自动属性

  Orcas 版的C#可以自动建立私有域和默认的get/set函数,而不必由用户手工声明私有域和手工建立get/set函数。如:我们使用以前的C#语言编程时,需要手工书写如下代码段:

以下是引用片段:
public class Person ...{

private string _firstName;

private string _lastName;

private int _age;

public string FirstName ...{

get ...{

return _firstName;

}set ...{

_firstName = value;

}

}

public string LastName ...{

get ...{

return _lastName;

}

set ...{

_lastName = value;

}

}

public int Age ...{

get ...{

return _age;

}

set ...{

_age = value;

}

}

}

  使用Orcas 版的C#后我们可以利用其自动属性功能重写如上代码如下:

  

以下是引用片段:
public class Person ...{

public string FirstName ...{

get; set;

}

public string LastName ...{

get; set;

}

public int Age ...{

get; set;

}

}

  或者为了更加简洁,我们可以减少空白区域,将代码紧凑如下:

  

以下是引用片段:
public class Person ...{

public string FirstName ...{ 

get; set; 

}

public string LastName ...{ 

get; set; 

}

public int Age ...{

 get; set; 

}

}

  当C# “Orcas”编译器遇到一个如上所示的空白的get/set property implementation时,它将会在你的类中自动产生一个私有域,同时实现一个公共的getter and setter property implementation。这样做的好处是,从type-contract的角度看,类好像使用了上述第一段代码中的执行(implementation)。这就意味着,与公共领域不同,我们将来可以在property setter implementation中添加验证逻辑,而不需要改变任何与类相关的外部组件。

  Object Initializers——对象初始化器

  本初始化器可以促进编译器自动生成property setter代码,由此可为用户省略了几行硬代码的编写。.NET Framework中的Types依赖于properties的使用。在初始化和使用一个新类时,开发人员通常要写出如下代码:

  

以下是引用片段:
Person person = new Person();

person.FirstName = "Scott";

person.LastName = "Guthrie";

person.Age = 32;

9 7 3 1 2 3 4 8 :


相关文章:

相关软件:

    无相关新闻

本类最新行业评测技巧教程学院
本类热点本日本周本月
本类推荐本日本周本月

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203