Skip to content

ExpressionRewriter.VisitBinary(BinaryExpression) method

Defined in

Type: ExpressionRewriter Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll

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

Attributes: [RequiresUnreferencedCode("Expression rewriting uses reflection over runtime types (e.g., Item/Length) which may be removed by trimming.")] [RequiresDynamicCode("Expression rewriting uses reflection over runtime types and may not be compatible with AOT compilation.")]

protected override Expression VisitBinary(BinaryExpression node)

View source

Summary: Visits a BinaryExpression representing an array or indexer access and rewrites it as an appropriate expression tree node.

Parameters

NameTypeDescription
nodeBinaryExpressionThe binary expression node to visit. Must represent an array or indexer access with a constant index.

Returns: Expression -- An Expression that represents the rewritten array or indexer access.

Remarks

This method supports rewriting array index expressions only when the index is a constant. For array types, it produces an ArrayAccess; for other types with indexers, it produces an MakeIndex using the type's indexer property. Reflection is used to access runtime type information, which may have compatibility implications with trimming and AOT compilation.

Exceptions

TypeCondition
System.NotSupportedExceptionThrown if the right side of the binary expression is not a constant expression.