輕松學(xué)習(xí)C#的屬性
屬性是提供對(duì)對(duì)象或類(lèi)的特性進(jìn)行訪(fǎng)問(wèn)的成員。屬性提供功能強(qiáng)大的方法將聲明信息與C#代碼(類(lèi)型,方法,屬性等)相關(guān)聯(lián)。屬性的設(shè)置包括字符串的長(zhǎng)度,字體的大小,窗口的焦點(diǎn),用戶(hù)的名字等。
使程序員可以創(chuàng)造新的聲明信息的種類(lèi),稱(chēng)為屬性。屬性是對(duì)現(xiàn)實(shí)世界中實(shí)體特征的抽象,是為訪(fǎng)問(wèn)自定義類(lèi)型的注釋信息提供通用的訪(fǎng)問(wèn)方式。屬性使類(lèi)能夠以一種公開(kāi)的思路方法獲取和設(shè)置值,同時(shí)隱藏實(shí)現(xiàn)或驗(yàn)證代碼。C#的屬性具有保護(hù)功能,可以讓用戶(hù)像訪(fǎng)問(wèn)域一樣訪(fǎng)問(wèn)屬性。
屬性包括字符串各種信息和字符串有關(guān)聯(lián)類(lèi)型的命名成員,相同的是,語(yǔ)法相同,不同的是,屬性不設(shè)置存儲(chǔ)位置。屬性是域的自然擴(kuò)展。屬性提供功能強(qiáng)大的方法以將聲明信息與C#代碼(類(lèi)型,方法,屬性等)相關(guān)聯(lián)。屬性可在運(yùn)行時(shí)查詢(xún),并可以以任意多種方式使用。
屬性是通過(guò)屬性類(lèi)的聲明定義的,屬性類(lèi)可以具有定位和命名參數(shù)。屬性“”是使用屬性說(shuō)明符加到C#程序中的實(shí)體上的,而且可以在運(yùn)行時(shí)作為屬性實(shí)例來(lái)檢索。
屬性的“設(shè)置”(Set)方法和“獲取(Get)”方法包含在屬性聲明中,Get屬性訪(fǎng)問(wèn)器用于返回屬性值,而Set訪(fǎng)問(wèn)器用于分配新值。
就用例子來(lái)看看屬性的定義和使用
一、在同一界面中實(shí)現(xiàn)屬性的定義和使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 屬性 { class Program { static void Main(string[] args) { Text ct = new Text("張三");//創(chuàng)建Text的對(duì)象ct,并且調(diào)用帶參數(shù)的構(gòu)造函數(shù) Console.WriteLine(ct.Name); ct.Name = "李四";//為Name屬性賦值 Console.WriteLine(ct.Name); Console.ReadLine(); } } class Text//新創(chuàng)建的一個(gè)屬性類(lèi) { private String name = string.Empty;//定義的類(lèi)的私有成員 public Text()//無(wú)參數(shù)的構(gòu)造函數(shù) { Console.WriteLine("測(cè)試類(lèi)"); } public Text(string name)//帶一個(gè)參數(shù)的構(gòu)造函數(shù) { this.name = name;//賦值 } public String Name//定義屬性 { get { return name; }//獲取值 set { name = value; }//設(shè)置值 } } }
二、在同一命名空間下的創(chuàng)建屬性類(lèi)并且使用屬性
(1)在打開(kāi)的主窗口右擊你所創(chuàng)建的屬性類(lèi),選中添加,再選中新建項(xiàng)
(2)在打開(kāi)的窗口中選中類(lèi)并且重新定義類(lèi)名為T(mén)ext
(3)在新建的類(lèi)中粘貼屬性類(lèi)的代碼段
(4)在Program類(lèi)中粘貼所屬于它的代碼段,點(diǎn)擊運(yùn)行與上述結(jié)果相同
三、在不同的命名空間中實(shí)現(xiàn)定義屬性和屬性的使用
(1)在創(chuàng)建的主窗口右方的右擊解決方案,單擊添加,再單擊新建項(xiàng)目,出現(xiàn)一個(gè)新的窗口
(2)在新的窗口中繼續(xù)點(diǎn)擊控制臺(tái)應(yīng)用程序,然后改命名空間為屬性類(lèi),單擊確定
(3)在創(chuàng)建的屬性類(lèi)命名空間中按照下面的圖片中示例進(jìn)行代碼的補(bǔ)充和輸入
(4)在創(chuàng)建的第一個(gè)命名空間屬性中進(jìn)行右擊引用,單擊添加引用,出現(xiàn)新的窗口
(5)在新出現(xiàn)的窗口,單擊你所要添加的屬性類(lèi)的命名空間,然后單擊確定
(6)在第一個(gè)創(chuàng)建的屬性命名空間中進(jìn)行下面圖片的輸入,最后運(yùn)行結(jié)果和上述兩個(gè)程序一樣
以上就是關(guān)于C#的屬性介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。
- C#實(shí)現(xiàn)獲取不同對(duì)象中名稱(chēng)相同屬性的方法
- C#實(shí)現(xiàn)ComboBox控件顯示出多個(gè)數(shù)據(jù)源屬性的方法
- C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧
- C#索引屬性用法實(shí)例分析
- C#實(shí)現(xiàn)ProperTyGrid自定義屬性的方法
- C#屬性(Attribute)用法實(shí)例解析
- C#利用反射來(lái)判斷對(duì)象是否包含某個(gè)屬性的實(shí)現(xiàn)方法
- C#類(lèi)中的屬性使用總結(jié)(詳解類(lèi)的屬性)
- C#類(lèi)中屬性與成員變量的使用小結(jié)
- C#中屬性和成員變量的區(qū)別說(shuō)明
相關(guān)文章
C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift
這篇文章介紹了C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06如何使用C#將Tensorflow訓(xùn)練的.pb文件用在生產(chǎn)環(huán)境詳解
這篇文章主要給大家介紹了關(guān)于如何使用C#將Tensorflow訓(xùn)練的.pb文件用在生產(chǎn)環(huán)境的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11c# 插入數(shù)據(jù)效率測(cè)試(mongodb)
這篇文章主要介紹了c# 插入數(shù)據(jù)效率測(cè)試(mongodb),插入的速度要比Mysql和sqlserver都要快需要的朋友可以參考下2018-03-03C#多線(xiàn)程之線(xiàn)程中止Abort()方法
這篇文章介紹了C#多線(xiàn)程中的線(xiàn)程中止Abort()方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04ItemsControl 數(shù)據(jù)綁定的兩種方式
這篇文章主要介紹了ItemsControl 數(shù)據(jù)綁定的兩種方式,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03