溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# HelpAttribute屬性的用法

發(fā)布時間:2021-07-16 10:44:12 來源:億速云 閱讀:148 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“C# HelpAttribute屬性的用法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

C# 是一種命令式語言,但像所有命令式語言一樣,它具有某些聲明性元素。例如,通過將類中的方法聲明為 public、protected、internal、protected internal 或 private,指定它的可訪問性。C# 使此功能一般化,以便程序員可以創(chuàng)造出一種新的聲明性信息,將此聲明性信息附加到各種程序?qū)嶓w,并在運行時檢索此聲明性信息。程序通過定義和使用屬性來描述這類額外的聲明性信息。

例如,一個框架也許會定義一個可放置在程序元素(如類和方法)上的C# HelpAttribute屬性,使開發(fā)人員能夠提供從程序元素到其文檔的映射。

using System;  [AttributeUsage(AttributeTargets.All)]  public class HelpAttribute: Attribute  {     public HelpAttribute(string url) {        this.url = url;     }     public string Topic = null;     private string url;     public string Url {        get { return url; }     }  }

定義了一個名為C# HelpAttribute屬性類,它具有一個定位參數(shù) (string url) 和一個命名參數(shù) (string Topic)。正如第 17.1 節(jié)中所解釋的,該屬性可以通過它的完整名稱 HelpAttribute 或通過它的隱式簡稱 Help 引用。定位參數(shù)由該屬性類的公共實例構(gòu)造函數(shù)的形參定義,命名參數(shù)則由屬性類的公共非靜態(tài)讀寫字段和對應的屬性定義。

[Help("http://www.microsoft.com/.../Class1.htm")]  public class Class1  {     [Help("http://www.microsoft.com/.../Class1.htm", Topic = "F")]     public void F() {}  }

顯示 Help 屬性的幾種用法。

在運行時可以利用反射支持檢索給定程序元素的屬性信息。

using System;  class Test  {     static void Main() {        Type type = typeof(Class1);        object[] arr = type.GetCustomAttributes(typeof(HelpAttribute), true);        if (arr.Length == 0)           Console.WriteLine("Class1 has no Help attribute.");        else {           HelpAttribute ha = (HelpAttribute) arr[0];           Console.WriteLine("Url = {0}, Topic = {1}", ha.Url, ha.Topic);        }     }  }

檢查 Class1 是否具有 Help 屬性,如果具有該屬性,則寫出關(guān)聯(lián)的 Topic 和 Url 值。

“C# HelpAttribute屬性的用法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI