ExpressionRewriter.VisitUnary(UnaryExpression) 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 VisitUnary(UnaryExpression node)
Summary: Visits a UnaryExpression node and rewrites it as needed for expression tree processing.
Parameters
| Name | Type | Description |
|---|---|---|
node | UnaryExpression | The unary expression node to visit. Must not be null and must have a valid operand. |
Returns: Expression -- An Expression representing the rewritten unary expression, or the original node if no rewriting is required.
Remarks
This method may strip conversion nodes or rewrite array length accesses to ensure expression chains remain stable. Reflection is used to access runtime type information, which may have compatibility implications with trimming and AOT compilation.
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException | Thrown if node does not have a valid operand. |