Class ExpressionInterning
Static helper class for expression interning with default cache.
Inheritance
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. |