Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问RouteAttribute上的自定义属性DescriptionAttribute_C#_Asp.net Web Api - Fatal编程技术网

C# 访问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调试,我能够深入

我在API解决方案中的RouteAttribute上添加了DescriptionAttribute,希望能够以编程方式检索作为控制器函数一部分的信息。例如:

[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()]
的一个较短的符号,这是否意味着对于我来说它不是一个可访问的值?