首页 > 编程语言 >C#特性 Attribute:AttributeUsage

C#特性 Attribute:AttributeUsage

时间:2022-09-21 11:14:47浏览次数:76  
标签:自定义 C# Attribute 特性 AttributeUsage 默认值

 

特性(Attribute):
  特性(Attribute)是用于在运行时传递程序中各种元素(比如程序集、类、构造函数、委托、枚举、事件、字段、接口、方法等)的行为信息的声明性标签。

  您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号 [*****] 来描述的。

  特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。

  .Net 框架提供了两种类型的特性:预定义特性和自定义特性

  Attribute是C#的一种语言特性,用于为各种实体(Class,field,property)附加一些说明性信息,并且可以在运行时环境中检索这些信息(通过反射方式)。

 

预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。

规定该特性的语法如下:

[AttributeUsage(
   validon,
   AllowMultiple=allowmultiple,
   Inherited=inherited
)]

validon:自定义特性的对象,可以是类、方法、属性等对象(默认值是 AttributeTargets.All)

AllowMultiple:是否允许被多次使用(默认值为false:单用的)

Inherited:是否可被派生类继承(默认值为false:不能)


  --学无止境,爱拼才会赢

标签:自定义,C#,Attribute,特性,AttributeUsage,默认值
From: https://www.cnblogs.com/xinloverong/p/16714834.html

相关文章

  • mysql实现oracle序列_mysql实现oracle序列
    mysql实现oracle序列的方案1.建表,表结构为:droptableifexistssequence;createtablesequence(seq_nameVARCHAR(50)NOTNULL,--序列名称current_valINTNO......
  • oracle 数据回滚
    selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromdual;select*fromt_payment_detail_cjasoftimestampto_timestamp('2022-09-2016:30:12','yyyy-mm-ddhh2......
  • letcode算法--15. 删除有序数组中的重复项
    给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不能改......
  • 如何为swarm中的service设置需要cpu和内存?
    想象一下这个场景,你有一个服务,想要最好的运行状态,必须需要一定的CPU和内存的数量,这样的场景,如何在service中进行设置? 也就是说,为service设置一个cpu和内存的值,swarm集......
  • MAC怎么快速截图
    ​1、截取全屏按住【command】【shift】【3】这三个键即可截取全屏。​编辑2、截取某区域按住【command】【shift】【4】。​编辑3、截图完成在电脑桌面能找到......
  • scp双向复制命令
    实例1:从本地服务器复制到远程服务器: (1) 复制文件:  命令格式:  scp local_file remote_username@remote_ip:remote_folder  样例[email protected].......
  • [转载] MAC IDEA 提示 CLEAR READ-ONLY STATUS 解决办法
    出现这种问题一般是编辑器没有权限所致。到项目根目录执行sudochown-R$USER./即可解决问题。亲测可用,还有一些改权限的,其实原理也是一样。来源:https://www.cnbl......
  • microsoft edge webview2 runtime是什么
    https://wenda.so.com/q/1644147108210589microsoftedgewebview2runtime 控件允许在本机应用中嵌入web技术(HTML、CSS以及JavaScript)。WebView2控件使用 Micr......
  • centos7防火墙配置
    开放端口的方法:方法一:命令行方式开放端口命令:/sbin/iptables-IINPUT-ptcp--dport8080-jACCEPT保存:/etc/rc.d/init.d/iptablessave重启服务:/etc/init.d/iptables......
  • vue中设置class多种方式
    class可以绑定对象数组和函数等<!--第一种:数组直接传递一个数组,注意:这里的class需要使用v-moddel做数据绑定-->33<h1:class="['red','thin']">第一种:数组了......