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

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

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

概述

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

實現(xiàn)方式

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

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

public class DeBugInfo : System.Attribute

2、構建自定義特性,讓我們構建一個名為 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、應用自定義特性

[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)建自定義特性的詳細內(nèi)容,更多關于C#創(chuàng)建自定義特性的資料請關注腳本之家其它相關文章!

相關文章

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

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

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

    C#的十種語法糖介紹

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

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

    wpf的強大界面能力,再加上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ù)條件設置GridControl RepositoryItem是否可編輯

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

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

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

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

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

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

    C#如何生成唯一訂單號

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

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

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

最新評論

武清区| 崇礼县| 巧家县| 会宁县| 鄂托克旗| 吕梁市| 文山县| 吉木乃县| 安仁县| 大洼县| 黔江区| 沙湾县| 顺昌县| 荥经县| 普兰店市| 同江市| 安阳市| 于田县| 盐城市| 夏津县| 宕昌县| 邳州市| 肥西县| 萨迦县| 应城市| 内乡县| 康马县| 永福县| 民丰县| 敦煌市| 北辰区| 南和县| 崇礼县| 保亭| 巴林右旗| 平陆县| 翁源县| 南康市| 咸阳市| 宁化县| 宁晋县|