iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#如何创建自定义特性
  • 827
分享到

C#如何创建自定义特性

2024-04-02 19:04:59 827人浏览 八月长安
摘要

目录概述实现方式概述 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。

概述

特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。要设计你自己的自定义特性,无需掌握许多新的概念。 如果你熟悉面向对象编程,并且知道如何设计类,那么你已经具备大部分所需知识。 自定义特性本质上是直接或间接派生自 System.Attribute的传统类。 与传统类一样,自定义特性包含用于存储和检索数据的方法。

实现方式

1、声明自定义特性,一个新的自定义特性应派生自 System.Attribute 类。


// 一个自定义特性 BugFix 被赋给类及其成员
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]

public class DeBugInfo : System.Attribute

2、构建自定义特性,让我们构建一个名为 DeBugInfo 的自定义特性,该特性将存储调试程序获得的信息。


// 一个自定义特性 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#如何创建自定义特性的详细内容,更多关于C#创建自定义特性的资料请关注编程网其它相关文章!

--结束END--

本文标题: C#如何创建自定义特性

本文链接: https://www.lsjlt.com/news/124461.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#如何创建自定义特性
    目录概述实现方式概述 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。...
    99+
    2024-04-02
  • 怎么在C#中创建一个自定义特性
    这期内容当中小编将会给大家带来有关怎么在C#中创建一个自定义特性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现方式声明自定义特性,一个新的自定义特性应派生自 System.Attribute 类。//...
    99+
    2023-06-14
  • C#自定义特性(Attribute)详解
    在前面介绍的代码中有使用特性,这些特性都是Microsoft定义好的,作为.NET Framework类库的一部分,许多特性都得到了C#编译器的支持。.NET Frmework也允许...
    99+
    2024-04-02
  • PyQt 如何创建自定义QWidget
    目录开发环境主要文件:main.pyapp_main_window.pyTips多控件可以存在list中QApplication与QWidget注意widget持有外部对象引用的问题...
    99+
    2024-04-02
  • 如何创建 JavaScript 自定义事件
    目录怎么创建自定义事件事件定制冒泡 bubbles可取消 cancelable组合 composed给事件传递自定义数据命名约定双击事件总结前言: 相信大家肯定处理过很多的事件监听,...
    99+
    2024-04-02
  • html如何创建自定义列表
    这篇文章主要介绍了html如何创建自定义列表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定义列表自定义列表不仅仅是一列项目,而是项目及其注...
    99+
    2024-04-02
  • 如何用C#创建用户自定义异常浅析
    概述 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处...
    99+
    2024-04-02
  • 如何用 Golang 创建自定义时区?
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-22
  • Angular中如何自定义创建指令
    小编给大家分享一下Angular中如何自定义创建指令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!指令介绍在 Angular 中有三种类型的指令:组件,有模板的指...
    99+
    2023-06-14
  • C#特性怎么定义
    本篇内容主要讲解“C#特性怎么定义”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#特性怎么定义”吧!一、什么是特性特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构...
    99+
    2023-06-29
  • 如何使用Dockerfile创建自定义镜像
    要使用Dockerfile创建自定义镜像,请按照以下步骤: 创建一个新的文件夹,并在文件夹中创建一个名为Dockerfile的文...
    99+
    2024-04-02
  • 如何在Prometheus中创建自定义指标
    要在Prometheus中创建自定义指标,您需要遵循以下步骤: 创建一个用于暴露指标的应用程序或服务。您可以使用Promethe...
    99+
    2024-03-04
    Prometheus
  • C#怎么创建用户自定义异常
    本篇内容主要讲解“C#怎么创建用户自定义异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么创建用户自定义异常”吧!创建用户自定义异常您也可以定义自己的异常。用户自定义的异常类是派生自&n...
    99+
    2023-06-17
  • 如何在 Laravel 中创建自定义 PHP 函数?
    在 laravel 中创建自定义 php 函数的步骤如下:创建函数文件(例如 myhelper.php)并定义函数。在 app.php 中将函数命名空间添加到 providers 数组。...
    99+
    2024-04-23
    laravel php函数
  • 如何使用 PHP 创建自定义函数库?
    在 php 中创建自定义函数库的步骤为:创建函数文件,例如 myfunctions.php,并在其中定义函数。使用 require 或 include 语句将函数库文件包含到 php 脚...
    99+
    2024-04-10
    php 自定义函数库
  • Knockout应用开发中如何创建自定义绑定
    这篇文章给大家介绍Knockout应用开发中如何创建自定义绑定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建自定义绑定你可以创建自己的自定义绑定,没有必要非要使用内嵌的绑定(像cl...
    99+
    2024-04-02
  • AngularJS基于factory如何创建自定义服务
    这篇文章主要介绍了AngularJS基于factory如何创建自定义服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么要创建自定义服务...
    99+
    2024-04-02
  • C++ 函数如何帮助开发者创建自定义 GUI 组件?
    c++++ 函数可用于创建自定义 gui 组件。通过定义函数、处理 gui 任务并从主应用程序调用函数,开发人员可以创建自定义组件。优点包括可复用性、代码清晰度和可扩展性。实战案例展示了...
    99+
    2024-04-25
    c++
  • PyQt怎么创建自定义QWidget
    小编给大家分享一下PyQt怎么创建自定义QWidget,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!开发环境Win7  PyCharm  Python3.5.1  PyQt5主要文件:|--&...
    99+
    2023-06-14
  • 如何在Prometheus系统中创建自定义指标
    要在Prometheus系统中创建自定义指标,您需要执行以下步骤: 创建一个新的指标定义文件,通常使用PromQL语言编写。您可...
    99+
    2024-03-04
    Prometheus
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作