国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C# 語言規范--1.14 屬性

2024-07-21 02:29:57
字體:
來源:轉載
供稿:網友

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

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

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; }
   }
}

  定義了一個名為 helpattribute 的屬性類,它具有一個定位參數 (string url) 和一個命名參數 (string topic)。正如第 17.1 節中所解釋的,該屬性可以通過它的完整名稱 helpattribute 或通過它的隱式簡稱 help 引用。定位參數由該屬性類的公共實例構造函數的形參定義,命名參數則由屬性類的公共非靜態讀寫字段和對應的屬性定義。

  示例

[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 屬性,如果具有該屬性,則寫出關聯的 topic 和 url 值。

,歡迎訪問網頁設計愛好者web開發。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乡城县| 栾川县| 巨鹿县| 宿州市| 梧州市| 崇阳县| 潞西市| 巩义市| 高雄市| 眉山市| 安平县| 陆川县| 肇庆市| 宜都市| 随州市| 开平市| 渭南市| 沙坪坝区| 江西省| 綦江县| 深州市| 安宁市| 新丰县| 唐山市| 麻栗坡县| 新余市| 清水县| 九台市| 封开县| 宁乡县| 措勤县| 琼结县| 合作市| 温宿县| 出国| 库车县| 嫩江县| 教育| 景德镇市| 营口市| 盐边县|