Class SelectOperator
A representation of a select query expression operator.
Inherited Members
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public class SelectOperator : QueryOperator
Constructors
SelectOperator(Type, Type, MonadMember, QueryTree)
Creates a representation of a select query expression operator.
Declaration
protected SelectOperator(Type elementType, Type inputElementType, MonadMember source, QueryTree selector)
Parameters
Type | Name | Description |
---|---|---|
System.Type | elementType | The element type of the resulting monad. |
System.Type | inputElementType | The input type of the source monad. |
MonadMember | source | The source to map from. |
QueryTree | selector | The projection function used to map from the source. |
Properties
InputElementType
The element type of the source monad.
Declaration
public Type InputElementType { get; }
Property Value
Type | Description |
---|---|
System.Type |
NodeType
Gets the OperatorType of the QueryOperator.
Declaration
public override OperatorType NodeType { get; }
Property Value
Type | Description |
---|---|
OperatorType |
Overrides
Selector
The projection function used to obtain elements from the source monad.
Declaration
public QueryTree Selector { get; }
Property Value
Type | Description |
---|---|
QueryTree |
Source
The source on which this operator acts.
Declaration
public MonadMember Source { get; }
Property Value
Type | Description |
---|---|
MonadMember |
Methods
Accept<TQueryTree, TMonadMember, TQueryOperator>(QueryVisitor<TQueryTree, TMonadMember, TQueryOperator>)
Accepts the query expression tree node in the specified visitor.
Declaration
protected override TQueryTree Accept<TQueryTree, TMonadMember, TQueryOperator>(QueryVisitor<TQueryTree, TMonadMember, TQueryOperator> visitor)
where TMonadMember : TQueryTree where TQueryOperator : TMonadMember
Parameters
Type | Name | Description |
---|---|---|
QueryVisitor<TQueryTree, TMonadMember, TQueryOperator> | visitor | Visitor to process the current query expression tree node. |
Returns
Type | Description |
---|---|
TQueryTree | Result of visiting the node. |
Type Parameters
Name | Description |
---|---|
TQueryTree | Target type for query expressions. |
TMonadMember | Target type for monad member query expressions. This type has to derive from TQueryTree. |
TQueryOperator | Target type for query operator query expressions. This type has to derive from TMonadMember. |
Overrides
Update(MonadMember, QueryTree)
Creates a select operator query expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.
Declaration
public SelectOperator Update(MonadMember source, QueryTree selector)
Parameters
Type | Name | Description |
---|---|---|
MonadMember | source | The Source child node of the result. |
QueryTree | selector | The Selector child node of the result. |
Returns
Type | Description |
---|---|
SelectOperator | This query expression if no children are changed or an expression with the updated children. |