日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#泛型應(yīng)用中屬性淺析

C# 泛型應(yīng)用中屬性學(xué)習(xí)之前讓我們來看看什么是C# 屬性:它們提供靈活的機(jī)制來讀取、編寫或計(jì)算私有字段的值??梢韵袷褂霉矓?shù)據(jù)成員一樣使用屬性,但實(shí)際上它們是稱為“訪問器”的特殊方法。這使得數(shù)據(jù)在可被輕松訪問的同時(shí),仍能提供方法的安全性和靈活性。在本示例中,類 TimePeriod 存儲了一個時(shí)間段。類內(nèi)部以秒為單位存儲時(shí)間,但提供一個稱為 Hours 的屬性,它允許客戶端指定以小時(shí)為單位的時(shí)間。Hours 屬性的訪問器執(zhí)行小時(shí)和秒之間的轉(zhuǎn)換。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、長樂網(wǎng)站維護(hù)、網(wǎng)站推廣。

C# 屬性示例代碼

 
 
 
  1. class TimePeriod
  2. {
  3.     private double seconds;
  4.     public double Hours
  5.     {
  6. get { return seconds / 3600; }
  7. set { seconds = value * 3600; }
  8.     }
  9. }
  10. class Program
  11. {
  12.     static void Main()
  13.     {
  14. TimePeriod t = new TimePeriod();
  15. // Assigning the Hours property causes 
  16. //the 'set' accessor to be called.
  17. t.Hours = 24;
  18. // Evaluating the Hours property causes 
  19. //the 'get' accessor to be called.
  20. System.Console.WriteLine("Time in hours: " + t.Hours);
  21.     }
  22. }

輸出

 
 
 
  1. Time in hours: 24 

C# 屬性特點(diǎn)

◆屬性使類能夠以一種公開的方法獲取和設(shè)置值,同時(shí)隱藏實(shí)現(xiàn)或驗(yàn)證代碼。

◆get屬性訪問器用于返回屬性值,而 set 訪問器用于分配新值。這些訪問器可以有不同的訪問級別。有關(guān)更多信息,請參見 訪問器可訪問性。

◆value關(guān)鍵字用于定義由 set 索引器分配的值。

◆不實(shí)現(xiàn) set 方法的屬性是只讀的。

C# 泛型應(yīng)用中屬性:

屬性可以應(yīng)用于泛型類型中,方式與應(yīng)用于非泛型類型相同。

自定義屬性只允許引用開放泛型類型(未提供類型參數(shù)的泛型類型)和封閉構(gòu)造泛型類型(為所有類型參數(shù)提供參數(shù))。

下面的C# 屬性在泛型的應(yīng)用示例使用此自定義屬性:

 
 
 
  1. class CustomAttribute : System.Attribute
  2. {
  3.     public System.Object info;
  4. }

屬性可以引用開放式C# 泛型類型:

 
 
 
  1. public class GenericClass1 { }
  2. [CustomAttribute(info = typeof(GenericClass1<>))]
  3. class ClassA { }

使用數(shù)目適當(dāng)?shù)娜舾蓚€逗號指定多個類型參數(shù)。

在此示例中,GenericClass2 有兩個類型參數(shù):

 
 
 
  1. public class GenericClass2 { }
  2. [CustomAttribute(info = typeof(GenericClass2<,>))]
  3. class ClassB { }

屬性可以引用封閉式構(gòu)造C# 泛型類型:

 
 
 
  1. public class GenericClass3 { }
  2. [CustomAttribute(info = typeof(GenericClass3))]
  3. class ClassC { }

引用泛型類型參數(shù)的屬性將導(dǎo)致編譯時(shí)錯誤:

 
 
 
  1. //[CustomAttribute(info = typeof(GenericClass3))]  //Error
  2. class ClassD { }

不能從 Attribute 繼承泛型類型:

 
 
 
  1. //public class CustomAtt : System.Attribute {}  //Error

若要在運(yùn)行時(shí)獲得有關(guān)泛型類型或類型參數(shù)的信息,可以使用 System.Reflection 的方法。

C# 泛型應(yīng)用中屬性的基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)使用C# 泛型應(yīng)用中屬性的操作有所幫助。


文章標(biāo)題:C#泛型應(yīng)用中屬性淺析
網(wǎng)頁路徑:http://www.5511xx.com/article/djoposc.html