本文整理汇总了C#中HttpControllerDescriptor.SelectMany方法的典型用法代码示例。如果您正苦于以下问题:C# HttpControllerDescriptor.SelectMany方法的具体用法?C# HttpControllerDescriptor.SelectMany怎么用?C# HttpControllerDescriptor.SelectMany使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpControllerDescriptor
的用法示例。
在下文中一共展示了HttpControllerDescriptor.SelectMany方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Get
public IEnumerable<Tuple<string, string, FilterScope>> Get()
{
HttpControllerDescriptor[] controllerDescriptors = new HttpControllerDescriptor[] {
new HttpControllerDescriptor(this.Configuration,"foo",typeof(FooController)),
new HttpControllerDescriptor(this.Configuration,"bar",typeof(BarController)),
new HttpControllerDescriptor(this.Configuration,"baz",typeof(BazController)),
};
IHttpActionSelector actionSelector = this.Configuration.Services.GetActionSelector();
IEnumerable<HttpActionDescriptor> actionDescriptors = controllerDescriptors.SelectMany(controllerDescriptor =>
actionSelector.GetActionMapping(controllerDescriptor)["Action"]);
foreach (HttpActionDescriptor actionDescriptor in actionDescriptors)
{
foreach (FilterInfo filterInfo in actionDescriptor.GetFilterPipeline())
{
yield return new Tuple<string, string, FilterScope>(
string.Format("{0}.{1}", actionDescriptor.ControllerDescriptor.ControllerType.Name, actionDescriptor.ActionName),
filterInfo.Instance.GetType().Name,
filterInfo.Scope);
}
}
}