Open sandboxFocus

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, out TTag> 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, TTag>
Type Parameters
Name Description
TMember
Remarks

The query on the right part of SelectMany is executed concurrently. It is therefore preferable to use the Where, Select or SelectMany methods of the current interface instead of using the equivalent system methods inside the selector query.

SelectMany<TMember>(Func<TDeclaration, TTag, 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. This overload does supplies the tag to the selector delegate.

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

The query on the right part of SelectMany is executed concurrently. It is therefore preferable to use the Where, Select or SelectMany methods of the current interface instead of using the equivalent system methods inside the selector query.