Show / Hide Table of Contents

Class LambdaAbstraction

A representation of the unknown parts of the query expression tree.

Inheritance
System.Object
QueryTree
LambdaAbstraction
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public sealed class LambdaAbstraction : QueryTree

Properties

Body

The unknown parts of the query expression, abstracted out as a lambda expression.

Declaration
public LambdaExpression Body { get; }
Property Value
Type Description
System.Linq.Expressions.LambdaExpression

Parameters

The known sub-parts of the query expression.

Declaration
public ReadOnlyCollection<QueryTree> Parameters { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<QueryTree>

QueryNodeType

The QueryNodeType of the QueryTree.

Declaration
public override QueryNodeType QueryNodeType { get; }
Property Value
Type Description
QueryNodeType
Overrides
QueryTree.QueryNodeType

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
System.Linq.CompilerServices.Optimizers.QueryTree.Accept<TQueryTree, TMonadMember, TQueryOperator>(System.Linq.CompilerServices.Optimizers.QueryVisitor<TQueryTree, TMonadMember, TQueryOperator>)

Reduce()

Reduces the current node to an equivalent System.Linq.Expressions.Expression.

Declaration
public override Expression Reduce()
Returns
Type Description
System.Linq.Expressions.Expression

This node's equivalent System.Linq.Expressions.Expression.

Overrides
QueryTree.Reduce()

Update(LambdaExpression, IEnumerable<QueryTree>)

Creates a lambda abstraction 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 LambdaAbstraction Update(LambdaExpression body, IEnumerable<QueryTree> parameters)
Parameters
Type Name Description
System.Linq.Expressions.LambdaExpression body

The Body child node of the result.

System.Collections.Generic.IEnumerable<QueryTree> parameters

The Parameters child node of the result.

Returns
Type Description
LambdaAbstraction

This query expression if no children are changed or an expression with the updated children.

In This Article
Back to top Generated by DocFX