C#關(guān)于類的只讀只寫屬性實(shí)例分析
C#中屬性的目的是對(duì)字段的封裝,是為了程序數(shù)據(jù)的安全性考慮的。本文即以實(shí)例形式對(duì)C#中只讀只寫屬性進(jìn)行剖析。
對(duì)于只讀或只寫的屬性定義:
1、不寫入其中一個(gè)get\set方法即可只讀或只寫
比如:
private int a;
public int A{
get
{
return a;
}
}
2、用private進(jìn)行保護(hù),類外同樣意味著只讀或只寫
比如:
private int a;
public int A{
private get
{
return a;
}
set
{
a = value;
}
}
這里需要注意的是,這樣定義的屬性是在 C# 3.0 和更高版本中,當(dāng)屬性的訪問器中不需要其他邏輯時(shí),自動(dòng)實(shí)現(xiàn)的屬性可使屬性聲明更加簡(jiǎn)潔。
編譯器將創(chuàng)建一個(gè)私有的匿名支持字段,該字段只能通過屬性的 get 和 set 訪問器進(jìn)行訪問,
public int A{get;set;}
切記!這樣是無法省略其中一項(xiàng)(get/set)進(jìn)行只讀或者只寫的.
但是用private保護(hù)就可以:
public int A{get;private set;}
相關(guān)文章
C# 7.0之ref locals and returns(局部變量和引用返回)
這篇文章主要介紹了C# 7.0之ref locals and returns,即局部變量和引用返回,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
淺談C# AOP的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了淺談C# AOP的簡(jiǎn)單實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
C#利用ASP.NET?Core開發(fā)學(xué)生管理系統(tǒng)詳解
隨著技術(shù)的進(jìn)步,跨平臺(tái)開發(fā)已經(jīng)成為了標(biāo)配,在此大背景下,ASP.NET?Core也應(yīng)運(yùn)而生。本文主要利用ASP.NET?Core開發(fā)一個(gè)學(xué)生管理系統(tǒng),感興趣的可以學(xué)習(xí)一下2022-01-01

