Representa una expresión que tiene un operador unario.
System.Linq.Expressions.Expression
System.Linq.Expressions.UnaryExpression
Espacio de nombres: System.Linq.Expressions
Ensamblado: System.Core (en System.Core.dll)
Public NotInheritable Class UnaryExpression _ Inherits Expression
public sealed class UnaryExpression : Expression
public ref class UnaryExpression sealed : public Expression
[<Sealed>] type UnaryExpression = class inherit Expression end
El tipo UnaryExpression expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
CanReduce | Obtiene un valor que indica si el nodo del árbol de expresión se puede reducir. (Invalida a Expression.CanReduce). |
|
IsLifted | Obtiene un valor que indica si el nodo del árbol de expresión representa una llamada elevada a un operador. |
|
IsLiftedToNull | Obtiene un valor que indica si el nodo del árbol de expresión representa una llamada elevada a un operador cuyo tipo de valor devuelto se eleva a un tipo que acepta valores null. |
|
Method | Obtiene el método de implementación para la operación unaria. |
|
NodeType | Devuelve el tipo de nodo de este objeto Expression. (Invalida a Expression.NodeType). |
|
Operand | Obtiene el operando de la operación unaria. |
|
Type | Obtiene el tipo estático de la expresión que Expression representa. (Invalida a Expression.Type). |
| Nombre | Descripción | |
|---|---|---|
|
Accept | Envía la expresión al método de visita específico de este tipo de nodo. Por ejemplo, el objeto MethodCallExpression llama al método VisitMethodCall. (Se hereda de Expression). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Reduce | Reduce el nodo de expresión a una expresión más sencilla. (Invalida a Expression.Reduce()). |
|
ReduceAndCheck | Reduce este nodo a una expresión más simple. Si CanReduce devuelve true, debería devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir a su vez. (Se hereda de Expression). |
|
ReduceExtensions | Reduce la expresión a un tipo de nodo conocido (no es un nodo de extensión) o, si ya es un tipo conocido, solo devuelve la expresión. (Se hereda de Expression). |
|
ToString | Devuelve una representación textual de Expression. (Se hereda de Expression). |
|
Update | Crea una nueva expresión que es como esta, pero usa el elemento secundario proporcionado. Si todos los elementos secundarios son iguales, devolverá esta expresión. |
|
VisitChildren | Reduce el nodo y, a continuación, llama al delegado del visitante en la expresión reducida. El método inicia una excepción si el nodo no es reducible. (Se hereda de Expression). |
En la tabla siguiente se resumen los métodos de generador que se pueden utilizar para crear un objeto UnaryExpression que tiene un tipo de nodo concreto.
|
Método de generador |
|
|---|---|
|
ArrayLength |
|
|
Convert |
|
|
ConvertChecked |
|
|
Negate |
|
|
NegateChecked |
|
|
Not |
|
|
Quote |
|
|
TypeAs |
|
Además, los métodos MakeUnary también se pueden utilizar para crear un objeto UnaryExpression. Estos métodos de generador se pueden utilizar para crear un objeto UnaryExpression de cualquier tipo de nodo que represente una operación unaria. El parámetro de estos métodos que es de tipo NodeType especifica el tipo de nodo deseado.
En el ejemplo siguiente se crea un objeto UnaryExpression que representa la conversión de referencia de una expresión de de tipo entero que no acepta valores NULL al tipo entero que acepta valores NULL.
' Create a UnaryExpression that represents a reference ' conversion of an Integer to an Integer? (a nullable Integer). Dim typeAsExpression As System.Linq.Expressions.UnaryExpression = _ System.Linq.Expressions.Expression.TypeAs( _ System.Linq.Expressions.Expression.Constant(34, Type.GetType("System.Int32")), _ Type.GetType("System.Nullable`1[System.Int32]")) Console.WriteLine(typeAsExpression.ToString()) ' This code produces the following output: ' ' (34 As Nullable`1)
// 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)
.NET Framework
Compatible con: 4, 3.5.NET Framework Client Profile
Compatible con: 4, 3.5 SP1Compatible con:
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.