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

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.