Open sandboxFocus
  • TOC

Metalama Documentation

Getting started

Video tutorials

Conceptual documentation

Commented examples

API documentation

Aspect API

Metalama.​Framework.​Advising

Metalama.​Framework.​Aspects

Metalama.​Framework.​Code

Metalama.​Framework.​Code.​Collections

Metalama.​Framework.​Code.​Comparers

Metalama.​Framework.​Code.​Declaration­Builders

Metalama.​Framework.​Code.​Invokers

Metalama.​Framework.​Code.​Syntax­Builders

Metalama.​Framework.​Code.​Types

Metalama.​Framework.​Code­Fixes

Metalama.​Framework.​Diagnostics

Metalama.​Framework.​Eligibility

Metalama.​Framework.​Fabrics

Metalama.​Framework.​Metrics

Metalama.​Framework.​Options

Metalama.​Framework.​Project

Metalama.​Framework.​Run­Time

Metalama.​Framework.​Serialization

Metalama.​Framework.​Services

Metalama.​Framework.​Utilities

Metalama.​Framework.​Validation

Extensions API

Patterns API

Flashtrace API

Introspection API

Advanced API

Post­Sharp API migration

  • Article

Method SelectMany

SelectMany<TMember>(Func<TDeclaration, IEnumerable<TMember>>)

Projects each declaration of the current set to an IEnumerable<T> (typically a list of child declarations) and flattens the resulting sequences into one set.

Declaration
IValidatorReceiver<TMember> SelectMany<TMember>(Func<out TDeclaration, IEnumerable<TMember>> selector) where TMember : class, IDeclaration
Parameters
Type Name Description
Func<TDeclaration, IEnumerable<TMember>> selector
Returns
Type Description
IValidatorReceiver<TMember>
Type Parameters
Name Description
TMember
Remarks

The query on the right part of SelectMany<TMember>(Func<TDeclaration, IEnumerable<TMember>>) is executed concurrently. It is therefore preferable to use the Where(Func<TDeclaration, bool>), Select<TMember>(Func<TDeclaration, TMember>) or SelectMany<TMember>(Func<TDeclaration, IEnumerable<TMember>>) methods of the current interface instead of using the equivalent system methods inside the selector query.

  • Navigation