欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > c# >内容正文

c#

c# 特性 attribute -尊龙游戏旗舰厅官网

发布时间:2023/11/29 c# 20 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 c# 特性 attribute 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

  特性就是在类的类名称、属性、方法等上面加一个标记,使这些类、属性、方法等具有某些统一的特征,从而达到某些特殊的需要。举个小栗子:方法的异常捕捉,你是否还在某些可能出现异常的地方(例如数据库的操作、文件的操作等)经常使用try...catch。这个时候如果使用特性,就可 以大大减少方法里面的try...catch的使用。你只需要定义一个专门捕捉异常的特性类exceptionexattribute,然后给这个特性类 做些特殊处理,比如给它增加一个aop拦截的功能(aop拦截的方式很多,有兴趣可以搜搜看,园子里面很多类似的文章)。那么在可能出现异常的方法名称上 面加上一个[exceptionex]特性标签,这个方法就具有自动捕捉异常的能力。由此可见,特性可以减少统一需求的代码量.

官方描述:

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

特性(attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.net 框架提供了两种类型的特性:预定义特性和自定义特性

1.预定义特性

.net 框架提供了三种预定义特性:

·attributeusage 起条件编译的作用,只有满足条件,才允许编译器对它的代码进行编译。一般在程序调试的时候使用。

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

·obsolete 这个属性用来标记当前的方法已经被废弃,不再使用了。

举个小栗子a如下:

[obsolete("don't use oldmethod, use newmethod instead", true)]static void oldmethod(){console.writeline("it is the old method");}static void newmethod(){console.writeline("it is the new method");}static void main(string[] args){oldmethod();newmethod();console.readkey();}

实际上是这样

2.自定义特性

特性是给目标类型添加描述性的元数据,它不会影响代码的运行。自定义特性的命名必须以attribute结尾,如definedattribute, 而在使用的时候可以直接用[defined]或者[definedattribute]

小栗子b如下:

public class definedattribute:attribute{private string name { get; set; }private string sex { get; set; }public definedattribute(string _name,string _sex){this.name = _name;this.sex = _sex;}}public class testattribute{[defined("小明","")][defined("张伟","")]public void a(){console.writeline("111");}}

 

转载于:https://www.cnblogs.com/miaoying/p/5022253.html

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是尊龙游戏旗舰厅官网为你收集整理的c# 特性 attribute的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图