程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#3.0新特性――自動生成屬性

C#3.0新特性――自動生成屬性

編輯:關於C#

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的粉絲們炫耀了。呵呵,開個玩笑的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved