最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#如何創(chuàng)建自定義特性

 更新時間:2021年04月24日 11:28:55   作者:后端Q  
這篇文章主要介紹了C#如何創(chuàng)建自定義特性,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下

概述

特性(Attribute)是用于在運行時傳遞程序中各種元素(比如類、方法、結(jié)構(gòu)、枚舉、組件等)的行為信息的聲明性標(biāo)簽。您可以通過使用特性向程序添加聲明性信息。一個聲明性標(biāo)簽是通過放置在它所應(yīng)用的元素前面的方括號([ ])來描述的。要設(shè)計你自己的自定義特性,無需掌握許多新的概念。 如果你熟悉面向?qū)ο蟮木幊?,并且知道如何設(shè)計類,那么你已經(jīng)具備大部分所需知識。 自定義特性本質(zhì)上是直接或間接派生自 System.Attribute的傳統(tǒng)類。 與傳統(tǒng)類一樣,自定義特性包含用于存儲和檢索數(shù)據(jù)的方法。

實現(xiàn)方式

1、聲明自定義特性,一個新的自定義特性應(yīng)派生自 System.Attribute 類。

// 一個自定義特性 BugFix 被賦給類及其成員
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]

public class DeBugInfo : System.Attribute

2、構(gòu)建自定義特性,讓我們構(gòu)建一個名為 DeBugInfo 的自定義特性,該特性將存儲調(diào)試程序獲得的信息。

// 一個自定義特性 BugFix 被賦給類及其成員
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]

public class DeBugInfo : System.Attribute
{
  private int bugNo;
  private string developer;
  private string lastReview;
  public string message;

  public DeBugInfo(int bg, string dev, string d)
{
      this.bugNo = bg;
      this.developer = dev;
      this.lastReview = d;
  }

  public int BugNo
  {
      get
      {
          return bugNo;
      }
  }
  public string Developer
  {
      get
      {
          return developer;
      }
  }
  public string LastReview
  {
      get
      {
          return lastReview;
      }
  }
  public string Message
  {
      get
      {
          return message;
      }
      set
      {
          message = value;
      }
  }
}

3、應(yīng)用自定義特性

[DeBugInfo(45, "Zara Ali", "12/8/2012", Message = "Return type mismatch")]
[DeBugInfo(49, "Nuha Ali", "10/10/2012", Message = "Unused variable")]
class Rectangle
{
  // 成員變量
  protected double length;
  protected double width;
  public Rectangle(double l, double w)
  {
      length = l;
      width = w;
  }
  [DeBugInfo(55, "Zara Ali", "19/10/2012",
  Message = "Return type mismatch")]
  public double GetArea()
  {
      return length * width;
  }
  [DeBugInfo(56, "Zara Ali", "19/10/2012")]
  public void Display()
  {
      Console.WriteLine("Length: {0}", length);
      Console.WriteLine("Width: {0}", width);
      Console.WriteLine("Area: {0}", GetArea());
  }
}

以上就是C#如何創(chuàng)建自定義特性的詳細(xì)內(nèi)容,更多關(guān)于C#創(chuàng)建自定義特性的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • WPF數(shù)據(jù)綁定時出現(xiàn)StringFormat失效的原因和解決方法

    WPF數(shù)據(jù)綁定時出現(xiàn)StringFormat失效的原因和解決方法

    在數(shù)據(jù)綁定過程中,我們經(jīng)常會使用StringFormat對要顯示的數(shù)據(jù)進(jìn)行格式化,以便獲得更為直觀的展示效果,但在某些情況下格式化操作并未生效,所以本文介紹了WPF數(shù)據(jù)綁定時出現(xiàn)StringFormat失效的原因和解決方法,需要的朋友可以參考下
    2024-12-12
  • C#的十種語法糖介紹

    C#的十種語法糖介紹

    這篇文章介紹了C#的十種語法糖,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • C#?wpf嵌入winform控件的示例詳解

    C#?wpf嵌入winform控件的示例詳解

    wpf的強(qiáng)大界面能力,再加上winform的性能以及靈活性,那基本上什么界面都能夠做的很好,本文我們就來看看如何在C#?wpf中嵌入winform控件吧
    2024-03-03
  • C#程序優(yōu)化-有效減少CPU占用率

    C#程序優(yōu)化-有效減少CPU占用率

    本文給大家介紹的是C#程序優(yōu)化的小技巧,通過此方法可以有效的降低CPU的占用率,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-06-06
  • C# 抽象類,抽象屬性,抽象方法(實例講解)

    C# 抽象類,抽象屬性,抽象方法(實例講解)

    下面小編就為大家分享一篇C# 抽象類,抽象屬性,抽象方法的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • DevExpress根據(jù)條件設(shè)置GridControl RepositoryItem是否可編輯

    DevExpress根據(jù)條件設(shè)置GridControl RepositoryItem是否可編輯

    這篇文章主要介紹了DevExpress根據(jù)條件設(shè)置GridControl RepositoryItem是否可編輯,需要的朋友可以參考下
    2014-08-08
  • C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類實例

    C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類實例

    這篇文章主要介紹了C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類,實例分析了C#調(diào)用mmpeg操作視頻文件的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • C#連接MySQL數(shù)據(jù)庫的方法步驟

    C#連接MySQL數(shù)據(jù)庫的方法步驟

    最近兩天在解決C#連接MySql數(shù)據(jù)庫的問題,通過不同的從網(wǎng)上學(xué)習(xí),最終找到了解決的辦法,下面這篇文章主要給大家介紹了關(guān)于C#連接MySQL數(shù)據(jù)庫的方法步驟,需要的朋友可以參考下
    2023-01-01
  • C#如何生成唯一訂單號

    C#如何生成唯一訂單號

    這篇文章主要為大家詳細(xì)介紹了C#如何生成唯一訂單號,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 基于C#制作一個休息提醒鬧鐘的詳細(xì)步驟

    基于C#制作一個休息提醒鬧鐘的詳細(xì)步驟

    小鬧鐘大家都應(yīng)該很熟悉,它包括時間、事件,當(dāng)達(dá)到某某時間時,事件發(fā)生了,并且還有一個提示信息,下面這篇文章主要給大家介紹了關(guān)于如何基于C#制作一個休息提醒鬧鐘的詳細(xì)步驟,需要的朋友可以參考下
    2023-02-02

最新評論

安多县| 乾安县| 山西省| 万山特区| 陇川县| 宝应县| 新乐市| 晋江市| 浦北县| 湟源县| 集贤县| 驻马店市| 长沙县| 新竹市| 于田县| 阿拉善左旗| 宁都县| 满洲里市| 武清区| 法库县| 工布江达县| 永济市| 大竹县| 德阳市| 民县| 浮山县| 文水县| 湘阴县| 鄂州市| 门源| 玛纳斯县| 宜兰市| 江阴市| 南宁市| 仪征市| 云安县| 温州市| 庆阳市| 通辽市| 常熟市| 武城县|