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)
Summary: Visits a BinaryExpression representing an array or indexer access and rewrites it as an appropriate expression tree node.
Parameters
| Name | Type | Description |
|---|---|---|
node | BinaryExpression | The 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
| Type | Condition |
|---|---|
| System.NotSupportedException | Thrown if the right side of the binary expression is not a constant expression. |