1. 程式人生 > 其它 >C#屬性和它們的不同用法

C#屬性和它們的不同用法

我學習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 = new
List<SomeType>(); 10 } 11 return m_property; 12 } 13 set 14 { 15 m_property = value; 16 } 17 } 18 private IList<SomeType> m_property; 19 }

我突然擔心我可疑的C#知識。因此,我開啟了一段旅程,去探索真實的用處和各種模式的用法(不用擔心,我稍後會解釋這個示例)。