Show / Hide Table of Contents

Class SetExpressionRewriter

An expression visitor that turns getter functions into setters

Inheritance
object
ExpressionVisitor
SetExpressionRewriter
Inherited Members
ExpressionVisitor.Visit(ReadOnlyCollection<Expression>)
ExpressionVisitor.Visit<T>(ReadOnlyCollection<T>, Func<T, T>)
ExpressionVisitor.VisitAndConvert<T>(T, string)
ExpressionVisitor.VisitAndConvert<T>(ReadOnlyCollection<T>, string)
ExpressionVisitor.VisitBlock(BlockExpression)
ExpressionVisitor.VisitCatchBlock(CatchBlock)
ExpressionVisitor.VisitConstant(ConstantExpression)
ExpressionVisitor.VisitDebugInfo(DebugInfoExpression)
ExpressionVisitor.VisitDynamic(DynamicExpression)
ExpressionVisitor.VisitExtension(Expression)
ExpressionVisitor.VisitGoto(GotoExpression)
ExpressionVisitor.VisitInvocation(InvocationExpression)
ExpressionVisitor.VisitLabel(LabelExpression)
ExpressionVisitor.VisitLabelTarget(LabelTarget)
ExpressionVisitor.VisitLambda<T>(Expression<T>)
ExpressionVisitor.VisitLoop(LoopExpression)
ExpressionVisitor.VisitMemberBinding(MemberBinding)
ExpressionVisitor.VisitRuntimeVariables(RuntimeVariablesExpression)
ExpressionVisitor.VisitSwitch(SwitchExpression)
ExpressionVisitor.VisitSwitchCase(SwitchCase)
ExpressionVisitor.VisitTry(TryExpression)
ExpressionVisitor.VisitTypeBinary(TypeBinaryExpression)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: NMF.Expressions
Assembly: NMF.Expressions.dll
Syntax
public class SetExpressionRewriter : ExpressionVisitor

Constructors

| Edit this page View Source

SetExpressionRewriter(Expression)

Create a new instance

Declaration
public SetExpressionRewriter(Expression value)
Parameters
Type Name Description
Expression value

The expression that is going to be inverted

Properties

| Edit this page View Source

Value

Gets the value of the rewrite

Declaration
public Expression Value { get; set; }
Property Value
Type Description
Expression

Methods

| Edit this page View Source

CreateSetter(LambdaExpression)

Create a setter for the given getter expression

Declaration
public static LambdaExpression CreateSetter(LambdaExpression getter)
Parameters
Type Name Description
LambdaExpression getter

The getter expression

Returns
Type Description
LambdaExpression

An expression that corresponds to the setter of the given getter

| Edit this page View Source

CreateSetter<TValue>(Expression<Func<TValue>>)

Create a setter for the given getter expression

Declaration
public static Expression<Action<TValue>> CreateSetter<TValue>(Expression<Func<TValue>> getter)
Parameters
Type Name Description
Expression<Func<TValue>> getter

The getter expression

Returns
Type Description
Expression<Action<TValue>>

An expression that corresponds to the setter of the given getter

Type Parameters
Name Description
TValue

The return type of the getter expression

| Edit this page View Source

CreateSetter<T, TValue>(Expression<Func<T, TValue>>)

Create a setter for the given getter expression

Declaration
public static Expression<Action<T, TValue>> CreateSetter<T, TValue>(Expression<Func<T, TValue>> getter)
Parameters
Type Name Description
Expression<Func<T, TValue>> getter

The getter expression

Returns
Type Description
Expression<Action<T, TValue>>

An expression that corresponds to the setter of the given getter

Type Parameters
Name Description
T

The type of the first parameter

TValue

The return type of the getter expression

| Edit this page View Source

CreateSetter<T1, T2, TValue>(Expression<Func<T1, T2, TValue>>)

Create a setter for the given getter expression

Declaration
public static Expression<Action<T1, T2, TValue>> CreateSetter<T1, T2, TValue>(Expression<Func<T1, T2, TValue>> getter)
Parameters
Type Name Description
Expression<Func<T1, T2, TValue>> getter

The getter expression

Returns
Type Description
Expression<Action<T1, T2, TValue>>

An expression that corresponds to the setter of the given getter

Type Parameters
Name Description
T1

The type of the first parameter

T2

The type of the second parameter

TValue

The return type of the getter expression

| Edit this page View Source

Visit(Expression)

Declaration
public override Expression Visit(Expression node)
Parameters
Type Name Description
Expression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.Visit(Expression)
| Edit this page View Source

VisitBinary(BinaryExpression)

Declaration
protected override Expression VisitBinary(BinaryExpression node)
Parameters
Type Name Description
BinaryExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitBinary(BinaryExpression)
| Edit this page View Source

VisitConditional(ConditionalExpression)

Declaration
protected override Expression VisitConditional(ConditionalExpression node)
Parameters
Type Name Description
ConditionalExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitConditional(ConditionalExpression)
| Edit this page View Source

VisitDefault(DefaultExpression)

Declaration
protected override Expression VisitDefault(DefaultExpression node)
Parameters
Type Name Description
DefaultExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitDefault(DefaultExpression)
| Edit this page View Source

VisitElementInit(ElementInit)

Declaration
protected override ElementInit VisitElementInit(ElementInit node)
Parameters
Type Name Description
ElementInit node
Returns
Type Description
ElementInit
Overrides
ExpressionVisitor.VisitElementInit(ElementInit)
| Edit this page View Source

VisitIndex(IndexExpression)

Declaration
protected override Expression VisitIndex(IndexExpression node)
Parameters
Type Name Description
IndexExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitIndex(IndexExpression)
| Edit this page View Source

VisitListInit(ListInitExpression)

Declaration
protected override Expression VisitListInit(ListInitExpression node)
Parameters
Type Name Description
ListInitExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitListInit(ListInitExpression)
| Edit this page View Source

VisitMember(MemberExpression)

Declaration
protected override Expression VisitMember(MemberExpression node)
Parameters
Type Name Description
MemberExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitMember(MemberExpression)
| Edit this page View Source

VisitMemberAssignment(MemberAssignment)

Declaration
protected override MemberAssignment VisitMemberAssignment(MemberAssignment node)
Parameters
Type Name Description
MemberAssignment node
Returns
Type Description
MemberAssignment
Overrides
ExpressionVisitor.VisitMemberAssignment(MemberAssignment)
| Edit this page View Source

VisitMemberInit(MemberInitExpression)

Declaration
protected override Expression VisitMemberInit(MemberInitExpression node)
Parameters
Type Name Description
MemberInitExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitMemberInit(MemberInitExpression)
| Edit this page View Source

VisitMemberListBinding(MemberListBinding)

Declaration
protected override MemberListBinding VisitMemberListBinding(MemberListBinding node)
Parameters
Type Name Description
MemberListBinding node
Returns
Type Description
MemberListBinding
Overrides
ExpressionVisitor.VisitMemberListBinding(MemberListBinding)
| Edit this page View Source

VisitMemberMemberBinding(MemberMemberBinding)

Declaration
protected override MemberMemberBinding VisitMemberMemberBinding(MemberMemberBinding node)
Parameters
Type Name Description
MemberMemberBinding node
Returns
Type Description
MemberMemberBinding
Overrides
ExpressionVisitor.VisitMemberMemberBinding(MemberMemberBinding)
| Edit this page View Source

VisitMethodCall(MethodCallExpression)

Declaration
protected override Expression VisitMethodCall(MethodCallExpression node)
Parameters
Type Name Description
MethodCallExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitMethodCall(MethodCallExpression)
| Edit this page View Source

VisitNew(NewExpression)

Declaration
protected override Expression VisitNew(NewExpression node)
Parameters
Type Name Description
NewExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitNew(NewExpression)
| Edit this page View Source

VisitNewArray(NewArrayExpression)

Declaration
protected override Expression VisitNewArray(NewArrayExpression node)
Parameters
Type Name Description
NewArrayExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitNewArray(NewArrayExpression)
| Edit this page View Source

VisitParameter(ParameterExpression)

Declaration
protected override Expression VisitParameter(ParameterExpression node)
Parameters
Type Name Description
ParameterExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitParameter(ParameterExpression)
| Edit this page View Source

VisitUnary(UnaryExpression)

Declaration
protected override Expression VisitUnary(UnaryExpression node)
Parameters
Type Name Description
UnaryExpression node
Returns
Type Description
Expression
Overrides
ExpressionVisitor.VisitUnary(UnaryExpression)

Extension Methods

ExpressionExtensions.AsOne<T>(T)
  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX