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
ITaggedQuery<TMember, out TTag> SelectMany<TMember>(Func<out TDeclaration, IEnumerable<TMember>> selector) where TMember : class, IDeclarationParameters
| Type | Name | Description |
|---|---|---|
| Func<TDeclaration, IEnumerable<TMember>> | selector |
Returns
| Type | Description |
|---|---|
| ITaggedQuery<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
ITaggedQuery<TMember, out TTag> SelectMany<TMember>(Func<out TDeclaration, out TTag, IEnumerable<TMember>> selector) where TMember : class, IDeclarationParameters
| Type | Name | Description |
|---|---|---|
| Func<TDeclaration, TTag, IEnumerable<TMember>> | selector |
Returns
| Type | Description |
|---|---|
| ITaggedQuery<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.