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
IAspectReceiver<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
IAspectReceiver<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
IAspectReceiver<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
IAspectReceiver<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.