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