分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Mvc总结-特性(Attributes)

发布时间:2023-09-06 01:25责任编辑:蔡小小关键词:暂无标签

1.定义

  MSDN定义:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。具体使用示例如下:

[Obsolete]  //此属性为废弃public string Demo(){ ???return "";}

  该方法前面标明[Obsolete]特性,调用该方法时则提示”方法已过时“提示。

2.应用场景

  特性可与反射方法搭配,可返回引用该特性方法或者类的信息,用于描述展示引用对象信息。具体如下:

 ???//自定义作者特性 ???public class Author : System.Attribute ???{ ???????public string Name { get; set; } ???//名称 ???????public double Version { get; set; } //版本 ???????????public Author(string _name, double _version) ???????{ ???????????this.Name = _name; ???????????this.Version = _version; ???????} ???????public string GetInfo() ???????{ ???????????return "名称:" + Name + ",版本:" + Version; ???????} ???} ???????//引用特性类 ???[Author("HJX", 1.1)] ???class FirstClass ???{ ???????// ... ???} ???//利用反射方法,调用特性输出类信息 ???public string Index() ???{ ???????????//调用打印作者方法 ???????????string ExcultResult = PrintAuthorInfo(typeof(FirstClass)); ???????????returnExcultResult; ???} ???????//具体反射方法实现 ???????private static string PrintAuthorInfo(System.Type t) ???????{ ???????????string Result = ""; ???????????System.Attribute[] attrs = System.Attribute.GetCustomAttributes(t); ?????????????foreach (System.Attribute attr in attrs) ???????????{ ???????????????if (attr is Author) ???????????????{ ???????????????????Author a = (Author)attr; ???????????????????Result = a.GetInfo(); ???????????????} ???????????} ???????????return Result; ???????} ???

  总结:特性除了用于描述对象信息之外,还可以与Filter(筛选器)结合实现AOP编程,具体方法详见AOP编程-Filter(筛选器)

Mvc总结-特性(Attributes)

原文地址:http://www.cnblogs.com/hjxh/p/7867459.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved