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 ...
随机推荐
- volatile
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 7.外部接口的设计
目 录 第七章 外部接口的设计... 2 7.1 插件接口... 2 7.2 图形显示接口... 3 7.3 ...
- 4.5 .net core下直接执行SQL语句并生成DataTable
.net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs& ...
- 《C#微信开发系列(Top)-微信开发完整学习路线》
年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...
- 【IOS开发笔记02】学生管理系统
端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一 ...
- SAP CRM 客户控制器与数据绑定
当用户从视图离开时,视图将失去它的数据.解决这个问题,需要引入客户控制器(Custom Controller)(译者注:SAP CRM客户端中,不同地方的Custom Controller会翻译为“客 ...
- 使用Kotlin对ViewGroup的视图进行函数使操作
原文标题:Functional operations over Views in ViewGroup using Kotlin 原文链接:http://antonioleiva.com/functio ...
- AndroidProjects个人项目归纳
AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...
- 【代码笔记】iOS-中国地图
一,效果图. 二,工程图. 三,代码. AppDelegate.m #import "AppDelegate.h" //加入头文件 #import "DrawMapVie ...
- IOS 网络-深入浅出(一 )-> 三方SDWebImage
首要我们以最为常用的UIImageView为例介绍实现原理: 1)UIImageView+WebCache: setImageWithURL:placeholderImage:options: 先显 ...