C#屬性和它們的不同用法
阿新 • • 發佈:2022-04-01
我學習C#的部分來自於不同的資源,因為每個人都有不同的學習起點。一本書重點依賴於可以使生活更簡單的Visual Studio,會使人忽視建立.NET專案的本質,一旦可以從scratch中得到一切,那確實是撓癢癢,進步緩慢。
當我學會如何建立類的時候,我學到的一種結構就是屬性。屬性有一點令人困惑的語法,如下面描述的那樣:
1 public class MyRiches 2 { 3 // Normal Data Members 4 public int Money; 5 // Properties 6 public int GoldInKgs { get; set; }7 }
當我學習屬性的時候,我一直在思考為什麼我要花額外的精力去定義一種資料成員,當我可以用一種更簡單和更為熟悉的方式來建立時。我認為它是語法糖,也僅僅是用於可見的糖尿病。然後在我的程式碼庫中,我看到了屬性的一種有趣的用法。
1 public class MyClass 2 { 3 public IList<SomeType> Property 4 { 5 get 6 { 7 if(m_property == null) 8 { 9 m_property = newList<SomeType>(); 10 } 11 return m_property; 12 } 13 set 14 { 15 m_property = value; 16 } 17 } 18 private IList<SomeType> m_property; 19 }
我突然擔心我可疑的C#知識。因此,我開啟了一段旅程,去探索真實的用處和各種模式的用法(不用擔心,我稍後會解釋這個示例)。