Skip to content

ExpressionRewriter class

Defined in

Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll Full name: ReactiveUI.ExpressionRewriter Modifiers: public sealed

Summary

View source

        Rewrites and validates expression trees used by ReactiveUI binding infrastructure, normalizing
        supported constructs into a consistent shape.
        

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Class hierarchy
classDiagram
class ExpressionRewriter
class ExpressionVisitor
ExpressionVisitor <|-- ExpressionRewriter

Inherits from: ExpressionVisitor

Remarks

This visitor intentionally supports a constrained set of expression node types. Unsupported shapes are rejected with actionable exceptions to help callers correct their expressions.

Supported rewrites include:

Index expressions are only supported when all indices are constants.

Constructors

NameSummary
.ctor

Methods

NameSummary
VisitVisits the specified expression node and rewrites supported shapes into their normalized form.
VisitBinaryVisits a BinaryExpression representing an array or indexer access and rewrites it as an appropriate expression tree...
VisitUnaryVisits a UnaryExpression node and rewrites it as needed for expression tree processing.
VisitMethodCallVisits a method call expression representing an indexer access and rewrites it as an index expression if all arguments are constant.
VisitIndexValidates that index expressions only use constant arguments, then defers to the base visitor.
Inherited members