• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • C# 語言規范--1.14 屬性

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    C# 語言規范--1.14 屬性: C# 是一種命令式語言,但像所有命令式語言一樣,它具有某些聲明性元素。例如,通過將類中的方法聲明為 public 、 protected 、 internal 、 protected internal 或 private ,指定它的可訪問性。C# 使此功能一般化,以便 程序員 可
    C# 語言規范--1.14 屬性:

    C# 是一種命令式語言,但像所有命令式語言一樣,它具有某些聲明性元素。例如,通過將類中的方法聲明為 public、protected、internal、protected internalprivate,指定它的可訪問性。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 屬性,如果具有該屬性,則寫出關聯的 TopicUrl 值。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>