UnaryExpression Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una expresión que tiene un operador unario.
public ref class UnaryExpression sealed : System::Linq::Expressions::Expression
public sealed class UnaryExpression : System.Linq.Expressions.Expression
type UnaryExpression = class
inherit Expression
Public NotInheritable Class UnaryExpression
Inherits Expression
- Herencia
Ejemplos
En el ejemplo siguiente se crea un UnaryExpression objeto que representa la conversión de referencia de una expresión de entero que no acepta valores NULL en el tipo entero que acepta valores NULL.
// 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)
' 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)
Comentarios
En la tabla siguiente se resumen los métodos de fábrica que se pueden usar para crear un UnaryExpression que tenga un tipo de nodo específico.
NodeType | Factory (método) |
---|---|
ArrayLength | ArrayLength |
Convert | Convert |
ConvertChecked | ConvertChecked |
Negate | Negate |
NegateChecked | NegateChecked |
Not | Not |
Quote | Quote |
TypeAs | TypeAs |
UnaryPlus | UnaryPlus |
Además, los MakeUnary métodos también se pueden usar para crear un UnaryExpression. Estos métodos de fábrica se pueden usar para crear un 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.
Propiedades
CanReduce |
Obtiene un valor que indica si el nodo del árbol de expresión se puede reducir. |
CanReduce |
Indica que el nodo se puede reducir a uno más simple. Si devuelve true, se puede llamar a Reduce() para generar el formulario reducido. (Heredado de Expression) |
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 Expression. |
NodeType |
Obtiene el tipo de nodo de Expression. (Heredado de Expression) |
Operand |
Obtiene el operando de la operación unaria. |
Type |
Obtiene el tipo estático de la expresión que Expression representa. |
Type |
Obtiene el tipo estático de la expresión que Expression representa. (Heredado de Expression) |
Métodos
Accept(ExpressionVisitor) |
Envía la expresión al método de visita específico de este tipo de nodo. Por ejemplo, MethodCallExpression llama a VisitMethodCall(MethodCallExpression). (Heredado de Expression) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
Reduce() |
Reduce el nodo de expresión a una expresión más sencilla. |
Reduce() |
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. (Heredado de Expression) |
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. (Heredado 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. (Heredado de Expression) |
ToString() |
Devuelve una representación textual de Expression. (Heredado de Expression) |
Update(Expression) |
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(ExpressionVisitor) |
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. (Heredado de Expression) |