VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • C#3.0新特性之自动生成属性

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  C#自诞生起就取众家之长,集万千宠爱于一身,而且还是名门望族.NET Framwork家族中的一员,可谓天生高贵。编程界的老大哥JAVA,在发展了十几年后,已经健壮和强大。借助开源社区的SSH(struts+ spring+hibernate)框架,使得j2ee拥有了无与伦比的魅力。通用性,移植性,可扩展性都得到了很好的支持。每当我们学了SSH之后就会感概,为什么.NET没有这么优秀的框架呢。于是.NET的粉丝们也开发了自己的SH(NSpring+NHibernate)。但这两个框架和.NET的编程风格总是显得格格不入,这只是单纯抄袭过来的东西。但是我们也不用太悲观,C#3.0的出现带给了我们许多新的特性,至于是什么新特性呢,我将给大家一一介绍。

  第一个新特性:自动生成属性

  通常,我们都要为每个类编写Get/Set方法来对外提供属性的访问和操作。如:

Code
public class UserInfo
{
  string userName;
  string password;
  public UserName
  {
    get{return userName;}
    set{username=value;}
  }
  public Password
  {
    get{return password;}
    set{return password=value;}
  }
}

  我们总是很羡慕Eclipse为JAVA的属性自动生成Geter/Seter方法的功能,虽然Visual Studio也能类似的功能,但用起来还是不够方便,尤其是当一个类的属性很多的时候,编写这些Get/Set方法实在是一件很恼火的事情。而C#3.0的自动生成属性,终于让我们摆脱了这个恶梦,而且你会发现它是语言本身的特性,比JAVA的Geter/Seter方法要更简单,更简洁,更自然。微软在细节方面真是下了不少苦功啊。

  好了,让我们来看看使用C#3.0的自动生成属性编写上面这个类是怎样的呢。

Code
public Class UserInfo
{
  public string UserName{get;set;}
  public string Password{get;set;}
}

  我们可以发现,这实在是太轻松了。我们只需要在属性后面加入get/set两个关键字,就实现了以前要写几行代码的方法。.NET Framwork就会为我们自动生成它的私有的属性。现在使用它和使用上面这个类是一样的。

Code
UserInfo userInfo=new UserInfo();
userInfo.UserName=”test”;
userInfo.Password=”test”;

  如今,我们可以向JAVA的粉丝们炫耀了。呵呵,开个玩笑的。



相关教程