MVC中得到成员元数据的Description特性描述信息公用方法
#region 从类型成员获取指定的Attribute T特性集合
/// <summary>
/// 从类型成员获取指定的Attribute T特性集合
/// </summary>
/// <typeparam name="T">Attribute特性类型集合</typeparam>
/// <param name="memberinfo">实现了ICustomAttributeProvider接口的类实例</param>
/// <param name="inherit">是否从继承中查找,默认不查找</param>
/// <returns>存在则返回第一个,不存在返回null</returns>
public static T GetAttribute<T>(this ICustomAttributeProvider memberinfo, bool inherit = false) where T : Attribute
{
return memberinfo.GetCustomAttributes(typeof(T), inherit).SingleOrDefault() as T;
} /// <summary>
/// 从类型成员获取指定的Attribute T特性集合
/// </summary>
/// <typeparam name="T[]">Attribute特性类型</typeparam>
/// <param name="memberinfo">实现了ICustomAttributeProvider接口的类实例</param>
/// <param name="inherit">是否从继承中查找,默认不查找</param>
/// <returns>存在则返回所有特性集合,不存在返回null</returns>
public static T[] GetAttributes<T>(this ICustomAttributeProvider memberinfo, bool inherit = false) where T : Attribute
{
return memberinfo.GetCustomAttributes(typeof(T), inherit).Cast<T>().ToArray();
} #endregion #region 获取是否在此成员上定义一个或多个 attributeType 的实例
/// <summary>
/// 获取是否在此成员上定义一个或多个 attributeType 的实例
/// </summary>
/// <typeparam name="T">要检查的Attribute特性类</typeparam>
/// <param name="memberinfo">要检查的类成员</param>
/// <param name="inherit">是否从继承中查找,默认不查找</param>
/// <returns>是否存在</returns>
public static bool AttributeExists<T>(this ICustomAttributeProvider memberinfo, bool inherit = false)
where T : Attribute
{
return memberinfo.IsDefined(typeof(T), inherit);
}
#endregion #region 得到成员元数据的Description特性描述信息
/// <summary>
/// 得到成员元数据的Description特性描述信息
/// </summary>
/// <param name="memberinfo">成员元数据对象</param>
/// <param name="inherit">是否从继承中查找,默认不查找</param>
/// <returns>存在则返回Description的描述信息,否则返回空</returns>
public static string GetDescription(this ICustomAttributeProvider memberinfo, bool inherit = false)
{
DescriptionAttribute desc = memberinfo.GetAttribute<DescriptionAttribute>(inherit);
return desc == null ? String.Empty : desc.Description;
}
#endregion
MVC中得到成员元数据的Description特性描述信息公用方法的更多相关文章
- ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法
ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法 近来正在分析淘宝中商品的信息,效果发生乱码,如: 原因便是中文字符格式发生冲突,ASP.NET MVC 默认采用utf-8,可是淘宝网页采用g ...
- MVC中的成员资格,授权,安全性
使用 Authorize 特性登录 Authorize 是 ASP.NET MVC 自带的默认授权过滤器, 可用来限制用户对操作方法的访问. 保护控制器操作 Authorize 特性在表单身份验证和 ...
- MVC中利用ViewBag传递Json数据时的前端处理方法
用viewBag传递Json字符串到前端时,json字符串中的“会被转义为& quot,前端处理方法为@Html.Raw(Json.Encode(ViewBag.Data)),再用eval() ...
- 简析Geoserver中获取图层列表以及各图层描述信息的三种方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 实际项目中需要获取到Geoserver中的图层组织以及各图层 ...
- 在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容
在前两篇中,体验了Knockout的基本验证和自定义验证.本篇自定义验证信息的显示位置与内容. 自定义验证信息的显示位置 通常,Knockout的验证信息紧跟在input后面,通过validation ...
- spring mvc中@requesMapping的可配置参数和标注的处理方法的可选参数
@RequestMapping的可选参数 value:表示需要匹配的url的格式. method:表示所需处理请求的http 协议(如get,post,put,delete等),可选值为Request ...
- MVC中获取模型属性的Range和StringLength验证特性设置
MVC中的客户端及服务端模型验证信息都以ModelMetadata类型作为承载,在获得属性的ModelMetadata之后(还不知道怎么获取ModelMetadata的童鞋请自行恶补),我们可以轻松得 ...
- Asp.net mvc 中Action 方法的执行(二)
[toc] 前面介绍了 Action 执行过程中的几个基本的组件,这里介绍 Action 方法的参数绑定. 数据来源 为 Action 方法提供参数绑定的原始数据来源于当前的 Http 请求,可能包含 ...
- 获取枚举类型Description特性的描述信息
C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExten ...
随机推荐
- 分金币 bzoj 3293
分金币(1s 128M) coin [问题描述] 圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等.你的任务是求出被转手的 ...
- apache.commons.io.IOUtils: 一个很方便的IO工具库(比如InputStream转String)
转换InputStream到String, 比如 //引入apache的io包 import org.apache.commons.io.IOUtils; ... ...String str = IO ...
- MySQL时间分组查询
表TESTER 字段:id -- INT date -- TIMESTAMP 1.如何按年.月.日分组查询? select DATE_FORMAT(date,'%Y-%m-%d') time, ...
- java Io文件输入输出流 复制文件
package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...
- CodeSmith7 系列 破解教程
CodeSmith[点此下载] 学过三层的人应该认识CodeSmith Generator吧,今天我就跟大家一起探讨下CodeSmith Generator 7.0.2的激活,这最新版本破解的难度也是 ...
- div仿textarea使高度自适应
今天真的有些无语,在百度上找了很多关于textarea和input高度自适应的代码,并且考虑到了要判断textarea的滚动条,从而动态改变它的高度,直到我搜索了这个让我目瞪狗呆的办法…… <d ...
- 深入理解DOM节点类型第二篇——文本节点Text
× 目录 [1]特征 [2]空白 [3]属性[4]方法[5]性能 前面的话 文本节点顾名思义指向文本的节点,网页上看到的文字内容都属于文本节点.该节点简单直观,本文将详细介绍该部分内容 特征 文本节点 ...
- AgilePoint实例属性修改
流程实例中的参数存放在WF_CUSTOM_ATTRS表的WF_CUSTOM_ATTRS字段,为ntext类型,里面存放的是XML,不能直接修改 update [APData].[dbo].[WF_ ...
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- iOS开发常用代码块(第二弹)
GCD定时器 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ); dispat ...