Ant*_*haw 1 c# lambda attributes
我甚至不确定这是否可行,但我已经用尽所有想法来解决这个问题,所以我想我会把它发送给社区,看看你的想法.而且,如果不可能,也许你也有一些想法.
我正在尝试创建一个Attribute类,我可以将其添加到一个方法中,该方法允许我使用lambda表达式来获取方法的每个参数
public ExampleAttribute : Attribute
{
public object Value { get; set; }
public ExampleAttribute(--something here to make the lambda work--, object value)
{
Value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我想能够在下面这样的事情:
[Example(x=>x.Id, 4)]
[Example(x=>x.filter, "string value")]
public ActionResult Index(int Id, string filter)
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
我知道我可能完全梦想着这个想法.我基本上试图编写一个模型来允许自我记录的REST API文档.在最近的一个项目中,我们写了十几个服务,每个服务有5到15个方法,我认为写一些东西要比这更容易,而不是为每个方法编写一个文档页面.我计划最终将它作为一个开源项目发布,一旦我把它放在一个我认为可以释放的地方.
我不相信这是可能的,但我认为你无论如何都不需要.相反,您可以将属性直接放在参数上,如下所示:
public ActionResult Index(
[Documentation("the identifier...")]
int id,
[Documentation("The filter")]
string filter
)
{
return ...;
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用ParameterInfo.GetCustomAttributes获取参数的属性.
| 归档时间: |
|
| 查看次数: |
2288 次 |
| 最近记录: |