您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#中怎么自動實現屬性,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
C#在3.0版本中添加了自動實現屬性,但是當時Visual Basic還沒有與之匹配的特性。即將發布的.NET 4.0版本中,VB在該領域迎頭趕上,但卻有所不同。C#中,自動實現屬性可以這樣編寫,如下所示:
public string FirstName {get; set;}
Visual Basic則需要關鍵字Property,這表示它不需要get/set來對字段進行區分。但是,VB中的自動實現屬性對字段只有一個標記。
Public Property FirstName As String
對于VB和C#,該屬性都自動支持一個私有字段。在C#中,這個成員有一個自動生成的名稱,例如:“<FirstName>k__BackingField”。不用說,這個字段不能用一般的C#語法進行訪問。Visual Basic則缺乏這種創新性,它只不過在該屬性名前添加了一個下劃線。所以,如果屬性名為“FirstName”,那么對應的私有字段名為“_FirstName”。
直接訪問該支持字段讓很多事情變得都有可能。邏輯上來說,開發人員可以把該屬性標志為ReadOnly并在構造函數中設置它的值。然而,那并不可選。
盡管它有一定的局限,但實際上C#的靈活性更好。你可以標志set為private或protected,和訪問支持字段一樣有效。如下所示:
public string FirstName {get; private set;}
兩種語言的局限在于它們仍沒有任何針對不可變對象的工具。如果想讓對象的屬性和字段都為只讀并可在構造函數中進行設置,那么我們仍然需要像在.NET 1.0那樣編寫代碼。
關于C#中怎么自動實現屬性就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。