BinaryExpression Classe

Definição

Representa uma expressão que tem um operador binário.

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
Herança
BinaryExpression

Exemplos

O exemplo seguinte cria um BinaryExpression objeto que representa a subtração de um número de outro.

// 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)

Observações

A BinaryExpression classe representa uma expressão que tem um operador binário.

As tabelas a seguir resumem os métodos de construção que podem ser usados para criar um BinaryExpression que tenha um tipo de nó específico, representado pela propriedade NodeType. Cada tabela contém informações para uma classe específica de operações, como aritmética ou bit a bit.

Operações aritméticas binárias

Tipo de nó Método de fábrica
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

Operações Bitwise

Tipo de nó Método de fábrica
And And
Or Or
ExclusiveOr ExclusiveOr

Operações por turnos

Tipo de nó Método de fábrica
LeftShift LeftShift
RightShift RightShift

Operações booleanas condicionais

Tipo de nó Método de fábrica
AndAlso AndAlso
OrElse OrElse

Operações de comparação

Tipo de nó Método de fábrica
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

Operações de coalescência

Tipo de nó Método de fábrica
Coalesce Coalesce

Operações de indexação de matrizes

Tipo de nó Método de fábrica
ArrayIndex ArrayIndex

Além disso, os MakeBinary também podem ser usados para criar um BinaryExpression. Esses métodos de fábrica podem ser usados para criar um BinaryExpression de qualquer tipo de nó que representa uma operação binária. O parâmetro desses métodos que é do tipo NodeType especifica o tipo de nó desejado.

Propriedades

Name Descrição
CanReduce

Obtém um valor que indica se o nó da árvore de expressões pode ser reduzido.

Conversion

Obtém a função de conversão de tipos usada por uma operação de coalescência ou atribuição composta.

IsLifted

Obtém um valor que indica se o nó da árvore de expressões representa uma chamada elevada para um operador.

IsLiftedToNull

Obtém um valor que indica se o nó da árvore de expressões representa uma chamada elevada para um operador cujo tipo de retorno é elevado para um tipo anulável.

Left

Obtém o operando esquerdo da operação binária.

Method

Obtém o método de implementação para a operação binária.

NodeType

Obtém o tipo de nó deste Expression.

(Herdado de Expression)
Right

Obtém o operando correto da operação binária.

Type

Obtém o tipo estático da expressão que isto Expression representa.

(Herdado de Expression)

Métodos

Name Descrição
Accept(ExpressionVisitor)

Despacha para o método de visita específico para este tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Reduce()

Reduz o nó de expressão binária a uma expressão mais simples.

ReduceAndCheck()

Reduz este nó a uma expressão mais simples. Se o CanReduce devolver verdadeiro, isto deverá devolver uma expressão válida. Este método pode devolver outro nó que, por sua vez, deve ser reduzido.

(Herdado de Expression)
ReduceExtensions()

Reduz a expressão para um tipo de nó conhecido (que não é um nó de Extensão) ou simplesmente devolve a expressão se já for um tipo conhecido.

(Herdado de Expression)
ToString()

Devolve uma representação textual do Expression.

(Herdado de Expression)
Update(Expression, LambdaExpression, Expression)

Cria uma nova expressão semelhante a esta, mas usando os filhos fornecidos. Se todas as crianças forem iguais, ela devolverá essa expressão.

VisitChildren(ExpressionVisitor)

Reduz o nó e depois chama o delegado visitante na expressão reduzida. O método lança uma exceção se o nó não for redutível.

(Herdado de Expression)

Aplica-se a