c#特性

摘要:
属性用于添加元数据,如编译器指令和注释、描述、方法和其他信息。Net框架提供两种类型的属性:预定义属性和自定义属性。C#中有三个重要的名词:field、attribute和feature。一般来说,特性不能影响程序本身,但它们会被编译器编译成程序集的元数据,其功能多于注释:1.供编译器使用2.统一标识,如导航菜单栏菜单项、自定义检查器等。

c#特性:
特性(Attribute)是用于在运行时传递程序中的各种元素(比如类,方法,结构,枚举,组件等)的行为信息的声明标签。可以通过使用特性向程序添加声明性信息。一个声明性标签时通过放置在它它所应用的元素前面的方括号来描述的。

特性(Attribute)用于添加元数据,如编译器指令和注释,描述,方法等其他信息。.Net框架提供了两种类型的特性:预定义特性和自定义特性。
【一】 介绍
在C#中的有三个重要的名词:字段,属性,特性。
字段: 一般变量都是字段。 可以通过Type.GetField("name")获取
如public string str;
private int num;

属性: 当使用了属性访问器get set的时候,我们称之为属性。通过Type.GetProperty("name")获取
特性:下面我们就来重点说特性。
特性是一切继承自Attribute的类。是一种可由用户自定义的修饰符。它不能通过new实例化。只能通过附着在类,struct或者变量前面通过 [构造函数] 实例化,如果有参数的话,就是[构造函数(参数)]。为附着体追加额外的信息。一般来说,特性不能影响程序本身,但它会被编译器编译到程序集(Assembly)的元数据(Metadata)里,比注释有更多的作用:
1. 供编译器使用
2. Unity识别,如导航菜单栏菜单项,自定义Inspector等。
3. 做对程序本身的 功能

【二】特性步骤
1 得到type
2 得到函数,字段,属性等的信息
3 得到特性
4 处理

1 得到type
通过 typeof(类) 或者 对象.GetType(), 或者Assembly.GetType("name")

2.得到函数,字段,属性等的信息。注意只有public的才能获取。
字段 FieldInfo通过 type.GetField("num");
属性 PropertyInfo 通过 type.GetProperties());
方法 MethodInfo 通过 type.GetMethods();

3 得到特性
Attribute.GetCustomAttributes(mInfo)

4.处理

简单来讲,特性可以为附着体增加额外信息。

 

免责声明:文章转载自《c#特性》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JS实现纯前端将数据导出Excel两种方式亲测有效Unity3D 解决c#脚本乱码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Windows 7集成IE11(离线安装包、补丁)

当Win7系统需要集成IE11时,我们需要提前输入六个补丁KB2731771、KB2786081、KB2834140、KB2670838、KB2729094、KB2533623332位★ 百度网盘64位★ 百度网盘。我们需要输入这六个补丁才能更改IE11。此外,我们还需要32位的IE11离线安装包★ 百度网盘64位★ 百度网盘。这六个补丁是安装IE11所必需...

windows server2012 nVME和网卡等驱动和不识别RAID10问题

安装2012--不识别M.2nVME,下载官方驱动程序,并将其注入没有多个驱动程序的系统--添加ITSK通用驱动程序:|Win8012R2.x64网卡驱动程序无法打开--提取官方驱动程序EXE文件以添加网卡驱动程序不识别SATARAID10--超过2T,最大Legacy为2T。...

注册支付宝沙箱并测试支付宝扫码连接

2.创建新的支付宝应用程序2.1下载支付宝生成软件密钥#访问“支付宝开发平台”登录并访问开发者中心https://open.alipay.com/platform/home.htm#您可以参考“计算机网站支付”来熟悉计算机支付的整个流程https://docs.open.alipay.com/270/105899/2.1步骤1:创建应用程序(此处使用沙盒环境...

海康SDK编程指南(C#二次开发版本)

海康SDK编程指南目前使用的海康SDK包括IPC_SDK,Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息。本文仅对视频监控常用功能的使用进行说明,其它未实现功能请参看设备网络SDK使用手册和播放库编程指南V7.2。IPC_SDK编程指南(一)SDK的引用由于IPC_SDK没有SDK安...

狼人杀规则

自爆后,所有演讲立即暂停,进入夜间。自爆后的那晚,狼人可以指着那把刀。预言家只能验证某个玩家是否是狼人,除狼人是否是狼人之外的所有信息都无法验证。如果先知测试丘比特,法官不必担心丘比特是哪一个阵营,只会展示好人的手势。...

Crontab详细用法-定时任务详解

LWC“八个字符,有效范围为0-31个月的整数:可以出现”,-*/“四个字符,无效范围为1-12或JAN DECDayofWeek:可以出现”。-*/?因为月日和周日将相互影响。例如,在“分钟”字段中使用5,20表示它将在每分钟的5和20分钟触发一次。50:表示它只能出现在周日和月日域中。如果在DayofWeek域中使用5L,这意味着它将在最后一个星期四触发...