Show / Hide Table of Contents

Class ExpressionInterning

Static helper class for expression interning with default cache.

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

Methods

ClearInternCache()

Clears the static interning cache used by the Intern extension method.

Declaration
public static void ClearInternCache()

Intern<TExpression>(TExpression)

Rewrites the expression tree using pre-existing cached nodes.

Declaration
public static TExpression Intern<TExpression>(this TExpression expression)
    where TExpression : Expression
Parameters
Type Name Description
TExpression expression

The expression to rewrite.

Returns
Type Description
TExpression

The expression with nodes replaced by potentially pre-cached expression values.

Type Parameters
Name Description
TExpression

The type of expression to rewrite.

Remarks

This extension method uses a static default cache with a default expression equality comparer. For more control over equality checks for expressions, construct a new instance of the

ExpressionInterningCache
.

Intern<TExpression>(TExpression, IExpressionInterningCache)

Rewrites the expression tree using pre-existing cached nodes.

Declaration
public static TExpression Intern<TExpression>(this TExpression expression, IExpressionInterningCache cache)
    where TExpression : Expression
Parameters
Type Name Description
TExpression expression

The expression to rewrite.

IExpressionInterningCache cache

The expression cache to use for the rewrite.

Returns
Type Description
TExpression

The expression with nodes replaced by potentially pre-cached expression values.

Type Parameters
Name Description
TExpression

The type of expression to rewrite.

In This Article
Back to top Generated by DocFX