特性参数

webapi 框架里有很多特性参数,为了解除一些新人的疑惑,写个小例子分享下。

  class Program
{
static void Main(string[] args)
{
var message = new MessageData { Header="header...",
Body="body....",
Footer="footer...",
}; Type objT = typeof(Program);
Type fromBodyT = typeof(FromBodyAttribute);
MethodInfo method = objT.GetMethod("Test"); ParameterInfo[] paramsInfo = method.GetParameters();
var parameters= new List<object>(paramsInfo.Length);
foreach (ParameterInfo parameterInfo in paramsInfo)
{
var parameter = new object();
if (parameterInfo.CustomAttributes.Any(i => i.AttributeType == fromBodyT))
parameter = message.Body;
parameters.Add(parameter);
} object result = method.Invoke(null, parameters.ToArray());
Console.WriteLine(result); }
public class FromBodyAttribute : Attribute
{
}
public static string Test([FromBody] string body)
{
return body;
}
class MessageData
{ public string Body { get; set; }
public string Header { get; set; }
public string Footer { get; set; } } }

最新文章

  1. ReSharper详解Index0
  2. MVC3升级为MVC4
  3. android Timer使用方法
  4. python数字图像处理(9):直方图与均衡化
  5. 左边图标右边文字,在div里居中
  6. 初学者SQL语句介绍
  7. @Responsebody与@RequestBody
  8. Oracle系列之存储过程
  9. 通过NSURLProtocol拦截HTTP转HTTPS来整合SPDY的记录
  10. MongoDB 2.6.x 的安装部署
  11. HDOJ(HDU) 1407 测试你是否和LTC水平一样高(暴力)
  12. C# 使用PictureBox控件--点击切换图片
  13. harbor在谷歌云上搭建 日志
  14. CodeForces 461B Appleman and T
  15. [js]d3.js绘制拓扑树
  16. odoo开发笔记--取消正在升级中模块
  17. C#事件の.net下的EventArgs和EventHandler
  18. 深度学习基础(二)AlexNet_ImageNet Classification with Deep Convolutional Neural Networks
  19. HDU 2254 奥运(矩阵+二分等比求和)
  20. js 开源k线图开发库

热门文章

  1. dotNet的体系结构介绍
  2. java 基础知识十 继承和多态
  3. dd命令的使用简介
  4. 用ElasticSearch搭建自己的搜索和分析引擎
  5. .Net MVC4笔记之js css引用与压缩
  6. zlog学习随笔
  7. java多线程基本概述(二十)——中断
  8. 商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)
  9. bootstrap loadStep流程节点动态显示
  10. Logback Pattern