C#關(guān)于類的只讀只寫(xiě)屬性實(shí)例分析
C#中屬性的目的是對(duì)字段的封裝,是為了程序數(shù)據(jù)的安全性考慮的。本文即以實(shí)例形式對(duì)C#中只讀只寫(xiě)屬性進(jìn)行剖析。
對(duì)于只讀或只寫(xiě)的屬性定義:
1、不寫(xiě)入其中一個(gè)get\set方法即可只讀或只寫(xiě)
比如:
private int a; public int A{ get { return a; } }
2、用private進(jìn)行保護(hù),類外同樣意味著只讀或只寫(xiě)
比如:
private int a; public int A{ private get { return a; } set { a = value; } }
這里需要注意的是,這樣定義的屬性是在 C# 3.0 和更高版本中,當(dāng)屬性的訪問(wèn)器中不需要其他邏輯時(shí),自動(dòng)實(shí)現(xiàn)的屬性可使屬性聲明更加簡(jiǎn)潔。
編譯器將創(chuàng)建一個(gè)私有的匿名支持字段,該字段只能通過(guò)屬性的 get 和 set 訪問(wèn)器進(jìn)行訪問(wèn),
public int A{get;set;}
切記!這樣是無(wú)法省略其中一項(xiàng)(get/set)進(jìn)行只讀或者只寫(xiě)的.
但是用private保護(hù)就可以:
public int A{get;private set;}
相關(guān)文章
C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法
這篇文章主要介紹了C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法,涉及C#針對(duì)TreeView節(jié)點(diǎn)的動(dòng)態(tài)添加及移除技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#客戶端程序調(diào)用外部程序的3種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于C#客戶端程序調(diào)用外部程序的3種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04unity3d?對(duì)接?workerman?實(shí)現(xiàn)聯(lián)機(jī)游戲功能
workerman?是一款開(kāi)源高性能?PHP?應(yīng)用容器,他除了用于互聯(lián)網(wǎng)、即時(shí)通訊、APP?開(kāi)發(fā)、硬件通訊、智能家居、物聯(lián)網(wǎng)等領(lǐng)域的開(kāi)發(fā)外,這篇文章主要介紹了unity3d?對(duì)接?workerman?實(shí)現(xiàn)聯(lián)機(jī)游戲,需要的朋友可以參考下2022-10-10C# SaveFileDialog與OpenFileDialog用法案例詳解
這篇文章主要介紹了C# SaveFileDialog與OpenFileDialog用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08