UnaryExpression Class
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Represents an expression that has a unary operator.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
The UnaryExpression type exposes the following members.
| Name | Description | |
|---|---|---|
|
CanReduce | Gets a value that indicates whether the expression tree node can be reduced. (Overrides Expression.CanReduce.) |
|
IsLifted | Gets a value that indicates whether the expression tree node represents a lifted call to an operator. |
|
IsLiftedToNull | Gets a value that indicates whether the expression tree node represents a lifted call to an operator whose return type is lifted to a nullable type. |
|
Method | Gets the implementing method for the unary operation. |
|
NodeType | Returns the node type of this Expression. (Overrides Expression.NodeType.) |
|
Operand | Gets the operand of the unary operation. |
|
Type | Gets the static type of the expression that this Expression represents. (Overrides Expression.Type.) |
| Name | Description | |
|---|---|---|
|
Accept | Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall. (Inherited from Expression.) |
|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
|
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
|
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
|
GetType | Gets the Type of the current instance. (Inherited from Object.) |
|
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
|
Reduce | Reduces the expression node to a simpler expression. (Overrides Expression.Reduce().) |
|
ReduceAndCheck | Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.) |
|
ReduceExtensions | Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type. (Inherited from Expression.) |
|
ToString | Returns a textual representation of the Expression. (Inherited from Expression.) |
|
Update | Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression. |
|
VisitChildren | Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. (Inherited from Expression.) |
The following table summarizes the factory methods that can be used to create a UnaryExpression that has a specific node type.
|
Factory Method |
|
|---|---|
In addition, the MakeUnary methods can also be used to create a UnaryExpression. These factory methods can be used to create a UnaryExpression of any node type that represents a unary operation. The parameter of these methods that is of type NodeType specifies the desired node type.
The following example creates a UnaryExpression object that represents the reference conversion of a non-nullable integer expression to the nullable integer type.
// Create a UnaryExpression that represents a // conversion of an int to an int?. System.Linq.Expressions.UnaryExpression typeAsExpression = System.Linq.Expressions.Expression.TypeAs( System.Linq.Expressions.Expression.Constant(34, typeof(int)), typeof(int?)); Console.WriteLine(typeAsExpression.ToString()); // This code produces the following output: // // (34 As Nullable`1)
Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.