Show / Hide Table of Contents

Class ExpressionExtensions

Provides a set of extension methods for System.Linq.Expressions.Expression.

Inheritance
System.Object
ExpressionExtensions
Namespace: System.Linq.Expressions
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public static class ExpressionExtensions : Object

Methods

Evaluate(Expression)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static object Evaluate(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to evaluate.

Returns
Type Description
System.Object

Result of evaluating the expression tree.

Evaluate(Expression, ICompiledDelegateCache)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static object Evaluate(this Expression expression, ICompiledDelegateCache cache)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to evaluate.

ICompiledDelegateCache cache

Compiled delegate cache.

Returns
Type Description
System.Object

Result of evaluating the expression tree.

Evaluate<TResult>(Expression)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static TResult Evaluate<TResult>(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to evaluate.

Returns
Type Description
TResult

Result of evaluating the expression tree.

Type Parameters
Name Description
TResult

Type of the evaluation result.

Evaluate<TResult>(Expression, ICompiledDelegateCache)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static TResult Evaluate<TResult>(this Expression expression, ICompiledDelegateCache cache)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to evaluate.

ICompiledDelegateCache cache

Compiled delegate cache.

Returns
Type Description
TResult

Result of evaluating the expression tree.

Type Parameters
Name Description
TResult

Type of the evaluation result.

Evaluate<TResult>(Expression<Func<TResult>>)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static TResult Evaluate<TResult>(this Expression<Func<TResult>> expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TResult>> expression

Expression to evaluate.

Returns
Type Description
TResult

Result of evaluating the expression tree.

Type Parameters
Name Description
TResult

Type of the evaluation result.

Evaluate<TResult>(Expression<Func<TResult>>, ICompiledDelegateCache)

Evaluates the specified expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static TResult Evaluate<TResult>(this Expression<Func<TResult>> expression, ICompiledDelegateCache cache)
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TResult>> expression

Expression to evaluate.

ICompiledDelegateCache cache

Compiled delegate cache.

Returns
Type Description
TResult

Result of evaluating the expression tree.

Type Parameters
Name Description
TResult

Type of the evaluation result.

Funcletize(Expression)

Creates a funclet expression for the specified expression tree. This funclet can be used to evaluate the expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static Expression<Func<object>> Funcletize(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to funcletize.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<System.Object>>

Funclet to evaluate the expression tree.

Funcletize<TResult>(Expression)

Creates a funclet expression for the specified expression tree. This funclet can be used to evaluate the expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static Expression<Func<TResult>> Funcletize<TResult>(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to funcletize.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TResult>>

Funclet to evaluate the expression tree.

Type Parameters
Name Description
TResult

Result type of the expression.

Funcletize<TResult>(Expression<Func<TResult>>)

Creates a funclet expression for the specified expression tree. This funclet can be used to evaluate the expression tree. If the specified expression has unbound parameters, an exception will be thrown.

Declaration
public static Expression<Func<TResult>> Funcletize<TResult>(this Expression<Func<TResult>> expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TResult>> expression

Expression to funcletize.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TResult>>

Funclet to evaluate the expression tree.

Type Parameters
Name Description
TResult

Result type of the expression.

ToCSharp(Expression)

Converts the specified expression tree to a representation using C# syntax, and acquires constants and globals that occur in the expression tree.

Declaration
public static CSharpExpression ToCSharp(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to provide a C# representation for.

Returns
Type Description
CSharpExpression

C# representation of the specified expression tree.

ToCSharp(Expression, Boolean)

Converts the specified expression tree to a representation using C# syntax, with configurable exposure of compiler-generated names, and acquires constants and globals that occur in the expression tree.

Declaration
public static CSharpExpression ToCSharp(this Expression expression, bool allowCompilerGeneratedNames)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to provide a C# representation for.

System.Boolean allowCompilerGeneratedNames

Indicates whether compiler-generated names are allowed in the output. If enabled, the resulting C# syntax may not be syntactically valid.

Returns
Type Description
CSharpExpression

C# representation of the specified expression tree.

ToCSharpString(Expression)

Gets a string representation of the specified expression tree using C# syntax. The resulting string is not guaranteed to be semantically equivalent and should be used for diagnostic purposes only.

Declaration
public static string ToCSharpString(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to provide a C# code fragment for.

Returns
Type Description
System.String

String representation of the specified expression tree using C# syntax.

ToCSharpString(Expression, Boolean)

Gets a string representation of the specified expression tree using C# syntax, with configurable exposure of compiler-generated names. The resulting string is not guaranteed to be semantically equivalent and should be used for diagnostic purposes only.

Declaration
public static string ToCSharpString(this Expression expression, bool allowCompilerGeneratedNames)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression to provide a C# code fragment for.

System.Boolean allowCompilerGeneratedNames

Indicates whether compiler-generated names are allowed in the output. If enabled, the resulting C# syntax may not be syntactically valid.

Returns
Type Description
System.String

String representation of the specified expression tree using C# syntax.

ToExpressionTree(ElementInit)

Converts an element initializer to an ITree representation that can be used with rewriter tools.

Declaration
public static ElementInitExpressionTree ToExpressionTree(this ElementInit elementInitializer)
Parameters
Type Name Description
System.Linq.Expressions.ElementInit elementInitializer

Element initializer to convert.

Returns
Type Description
ElementInitExpressionTree

ITree representation of the element initializer.

ToExpressionTree(Expression)

Converts an expression tree to an ITree representation that can be used with rewriter tools.

Declaration
public static ExpressionTree ToExpressionTree(this Expression expression)
Parameters
Type Name Description
System.Linq.Expressions.Expression expression

Expression tree to convert.

Returns
Type Description
ExpressionTree

ITree representation of the expression tree.

ToExpressionTree(MemberBinding)

Converts a member binding to an ITree representation that can be used with rewriter tools.

Declaration
public static MemberBindingExpressionTree ToExpressionTree(this MemberBinding memberBinding)
Parameters
Type Name Description
System.Linq.Expressions.MemberBinding memberBinding

Member binding to convert.

Returns
Type Description
MemberBindingExpressionTree

ITree representation of the member binding.

In This Article
Back to top Generated by DocFX