C# 访问RouteAttribute上的自定义属性DescriptionAttribute
我在API解决方案中的RouteAttribute上添加了DescriptionAttribute,希望能够以编程方式检索作为控制器函数一部分的信息。例如:C# 访问RouteAttribute上的自定义属性DescriptionAttribute,c#,asp.net-web-api,C#,Asp.net Web Api,我在API解决方案中的RouteAttribute上添加了DescriptionAttribute,希望能够以编程方式检索作为控制器函数一部分的信息。例如: [Route("api/users/{filter}"), Description("Search for users that match {filter}")] 然而,我还没有弄清楚如何访问它。我已经看过中的几个帖子,以便提供指导,但我不确定如何使用带有RouteAttribute的帖子 使用Visual Studio调试,我能够深入
[Route("api/users/{filter}"), Description("Search for users that match {filter}")]
然而,我还没有弄清楚如何访问它。我已经看过中的几个帖子,以便提供指导,但我不确定如何使用带有RouteAttribute的帖子
使用Visual Studio调试,我能够深入到RouteAttribute条目中,并看到以下值:
(新的
System.Collections.Generic.Mscorlib_CollectionDebugView((新)
System.Collections.Generic.Mscorlib_CollectionDebugView(((System.Web.Http.Controllers.ReflectedHttpActionDescriptor)((System.Web.Http.Controllers.HttpActionDescriptor[])(新建)
System.Collections.Generic.Mscorlib_DictionaryValueCollectionDebugView(item.Route.DataTokens.Values).Items[0])[0]).MethodInfo.CustomAttributes.Items[1]).ConstructorArguments.Items[0]).Value
不幸的是,由于它的保护级别,无法访问。是否有办法获取此信息?您的描述属性不是“在路由属性上”,而是在控制器类(或应用属性的任何特定方法)上。以您所做的方式组合属性只是
[AttributeA()][AttributeB()]
的一个较短的符号,这是否意味着对于我来说它不是一个可访问的值?