C#中屬性的目的是對字段的封裝,是為了程序數據的安全性考慮的。本文即以實例形式對C#中只讀只寫屬性進行剖析。
對于只讀或只寫的屬性定義:
1、不寫入其中一個get/set方法即可只讀或只寫
比如:
private int a;public int A{get{ return a; }}
2、用private進行保護,類外同樣意味著只讀或只寫
比如:
private int a;public int A{private get{ return a;}set{ a = value;}}
這里需要注意的是,這樣定義的屬性是在 C# 3.0 和更高版本中,當屬性的訪問器中不需要其他邏輯時,自動實現的屬性可使屬性聲明更加簡潔。
編譯器將創建一個私有的匿名支持字段,該字段只能通過屬性的 get 和 set 訪問器進行訪問,
public int A{get;set;}
切記!這樣是無法省略其中一項(get/set)進行只讀或者只寫的.
但是用private保護就可以:
public int A{get;private set;}
新聞熱點
疑難解答