BinaryExpression 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 binario.
public ref class BinaryExpression : System::Linq::Expressions::Expression
public ref class BinaryExpression sealed : System::Linq::Expressions::Expression
public class BinaryExpression : System.Linq.Expressions.Expression
public sealed class BinaryExpression : System.Linq.Expressions.Expression
type BinaryExpression = class
inherit Expression
Public Class BinaryExpression
Inherits Expression
Public NotInheritable Class BinaryExpression
Inherits Expression
- Herencia
Ejemplos
En el ejemplo siguiente se crea un BinaryExpression objeto que representa la resta de un número de otro.
// Create a BinaryExpression that represents subtracting 14 from 53.
System.Linq.Expressions.BinaryExpression binaryExpression =
System.Linq.Expressions.Expression.MakeBinary(
System.Linq.Expressions.ExpressionType.Subtract,
System.Linq.Expressions.Expression.Constant(53),
System.Linq.Expressions.Expression.Constant(14));
Console.WriteLine(binaryExpression.ToString());
// This code produces the following output:
//
// (53 - 14)
' Create a BinaryExpression that represents subtracting 14 from 53.
Dim binaryExpression As System.Linq.Expressions.BinaryExpression = _
System.Linq.Expressions.Expression.MakeBinary( _
System.Linq.Expressions.ExpressionType.Subtract, _
System.Linq.Expressions.Expression.Constant(53), _
System.Linq.Expressions.Expression.Constant(14))
Console.WriteLine(binaryExpression.ToString())
' This code produces the following output:
'
' (53 - 14)
Comentarios
La BinaryExpression clase representa una expresión que tiene un operador binario.
En las tablas siguientes se resumen los métodos de fábrica que se pueden usar para crear un BinaryExpression que tenga un tipo de nodo específico, representado por la NodeType propiedad . Cada tabla contiene información para una clase específica de operaciones como aritmética o a nivel de bits.
Operaciones aritméticas binarias
| Tipo de nodo | Método de fábrica |
|---|---|
| Add | Add |
| AddChecked | AddChecked |
| Divide | Divide |
| Modulo | Modulo |
| Multiply | Multiply |
| MultiplyChecked | MultiplyChecked |
| Power | Power |
| Subtract | Subtract |
| SubtractChecked | SubtractChecked |
Operaciones a nivel de bits
| Tipo de nodo | Método de fábrica |
|---|---|
| And | And |
| Or | Or |
| ExclusiveOr | ExclusiveOr |
Operaciones de desplazamiento
| Tipo de nodo | Método de fábrica |
|---|---|
| LeftShift | LeftShift |
| RightShift | RightShift |
Operaciones booleanas condicionales
| Tipo de nodo | Método de fábrica |
|---|---|
| AndAlso | AndAlso |
| OrElse | OrElse |
Operaciones de comparación
| Tipo de nodo | Método de fábrica |
|---|---|
| Equal | Equal |
| NotEqual | NotEqual |
| GreaterThanOrEqual | GreaterThanOrEqual |
| GreaterThan | GreaterThan |
| LessThan | LessThan |
| LessThanOrEqual | LessThanOrEqual |
Operaciones de coalescencia
| Tipo de nodo | Método de fábrica |
|---|---|
| Coalesce | Coalesce |
Operaciones de indexación de matrices
| Tipo de nodo | Método de fábrica |
|---|---|
| ArrayIndex | ArrayIndex |
Además, los MakeBinary métodos también se pueden usar para crear un BinaryExpression. Estos métodos de fábrica se pueden usar para crear un BinaryExpression de cualquier tipo de nodo que represente una operación binaria. El parámetro de estos métodos que es de tipo NodeType especifica el tipo de nodo deseado.
Propiedades
| Nombre | Description |
|---|---|
| CanReduce |
Obtiene un valor que indica si se puede reducir el nodo de árbol de expresiones. |
| Conversion |
Obtiene la función de conversión de tipos que usa una operación de asignación compuesta o de fusión. |
| IsLifted |
Obtiene un valor que indica si el nodo de árbol de expresión representa una llamada levantada a un operador. |
| IsLiftedToNull |
Obtiene un valor que indica si el nodo de árbol de expresión representa una llamada levantada a un operador cuyo tipo devuelto se eleva a un tipo que acepta valores NULL. |
| Left |
Obtiene el operando izquierdo de la operación binaria. |
| Method |
Obtiene el método de implementación para la operación binaria. |
| NodeType |
Obtiene el tipo de nodo de este Expressionobjeto . (Heredado de Expression) |
| Right |
Obtiene el operando derecho de la operación binaria. |
| Type |
Obtiene el tipo estático de la expresión que Expression representa. (Heredado de Expression) |
Métodos
| Nombre | Description |
|---|---|
| Accept(ExpressionVisitor) |
Envía al método de visita específico para este tipo de nodo. Por ejemplo, MethodCallExpression llama a VisitMethodCall(MethodCallExpression). |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| Reduce() |
Reduce el nodo de expresión binaria a una expresión más sencilla. |
| ReduceAndCheck() |
Reduce este nodo a una expresión más sencilla. Si CanReduce devuelve true, debe devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir. (Heredado de Expression) |
| ReduceExtensions() |
Reduce la expresión a un tipo de nodo conocido (que no es un nodo de extensión) o simplemente devuelve la expresión si ya es un tipo conocido. (Heredado de Expression) |
| ToString() |
Devuelve una representación textual de .Expression (Heredado de Expression) |
| Update(Expression, LambdaExpression, Expression) |
Crea una nueva expresión similar a esta, pero que usa los elementos secundarios proporcionados. Si todos los elementos secundarios son iguales, devolverá esta expresión. |
| VisitChildren(ExpressionVisitor) |
Reduce el nodo y, a continuación, llama al delegado de visitante en la expresión reducida. El método produce una excepción si el nodo no se puede deducir. (Heredado de Expression) |