BinaryExpression Класс

Определение

Представляет выражение, содержащее бинарный оператор.Represents an expression that has a binary operator.

public ref class BinaryExpression : System::Linq::Expressions::Expression
public class BinaryExpression : System.Linq.Expressions.Expression
type BinaryExpression = class
    inherit Expression
Public Class BinaryExpression
Inherits Expression
Наследование
BinaryExpression

Примеры

В следующем примере создается BinaryExpression объект, представляющий вычитание одного числа из другого.The following example creates a BinaryExpression object that represents the subtraction of one number from another.

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

Комментарии

В следующих таблицах перечислены заводские методы, которые можно использовать для создания BinaryExpression с конкретным типом узла, представленным NodeType свойством.The following tables summarize the factory methods that can be used to create a BinaryExpression that has a specific node type, represented by the NodeType property. Каждая таблица содержит сведения для конкретного класса операций, таких как арифметическая или Побитовая.Each table contains information for a specific class of operations such as arithmetic or bitwise.

Бинарные арифметические операцииBinary Arithmetic Operations

Тип узлаNode Type Фабричный методFactory Method
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

Битовые операцииBitwise Operations

Тип узлаNode Type Фабричный методFactory Method
And And
Or Or
ExclusiveOr ExclusiveOr

Операции сдвигаShift Operations

Тип узлаNode Type Фабричный методFactory Method
LeftShift LeftShift
RightShift RightShift

Условные логические операцииConditional Boolean Operations

Тип узлаNode Type Фабричный методFactory Method
AndAlso AndAlso
OrElse OrElse

Операции сравненияComparison Operations

Тип узлаNode Type Фабричный методFactory Method
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

Объединение операцийCoalescing Operations

Тип узлаNode Type Фабричный методFactory Method
Coalesce Coalesce

Операции индексации массиваArray Indexing Operations

Тип узлаNode Type Фабричный методFactory Method
ArrayIndex ArrayIndex

Кроме того, MakeBinary методы можно использовать для BinaryExpressionсоздания.In addition, the MakeBinary methods can also be used to create a BinaryExpression. Эти заводские методы можно использовать для создания BinaryExpression любого типа узла, представляющего бинарную операцию.These factory methods can be used to create a BinaryExpression of any node type that represents a binary operation. Параметр этих методов типа NodeType указывает требуемый тип узла.The parameter of these methods that is of type NodeType specifies the desired node type.

Свойства

CanReduce

Возвращает значение, указывающее, можно ли сократить узел дерева выражений.Gets a value that indicates whether the expression tree node can be reduced.

Conversion

Возвращает функцию преобразования типа, используемую операцией преобразования или составного присваивания.Gets the type conversion function that is used by a coalescing or compound assignment operation.

IsLifted

Возвращает значение, указывающее, представляет ли узел дерева выражения ликвидированный вызов оператора.Gets a value that indicates whether the expression tree node represents a lifted call to an operator.

IsLiftedToNull

Возвращает значение, указывающее, представляет ли узел дерева выражения ликвидированный вызов оператора, тип возврата которого удален для типа со значением NULL.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.

Left

Возвращает левый операнд бинарной операции.Gets the left operand of the binary operation.

Method

Возвращает реализацию метода для бинарной операции.Gets the implementing method for the binary operation.

NodeType

Получает тип узла данного объекта Expression.Gets the node type of this Expression.

(Унаследовано от Expression)
Right

Возвращает правый операнд бинарной операции.Gets the right operand of the binary operation.

Type

Получает статичный тип выражения, представленного этим выражением Expression.Gets the static type of the expression that this Expression represents.

(Унаследовано от Expression)

Методы

Accept(ExpressionVisitor)

Отправляет в конкретный метод Visit для данного типа узла.Dispatches to the specific visit method for this node type. Например, объект MethodCallExpression вызывает метод VisitMethodCall(MethodCallExpression).For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
Reduce()

Сокращает узел бинарных выражений до более простого выражения.Reduces the binary expression node to a simpler expression.

ReduceAndCheck()

Преобразует данный узел в более простое выражение.Reduces this node to a simpler expression. Если CanReduce возвращает значение true, данный метод должен вернуть допустимое выражение.If CanReduce returns true, this should return a valid expression. Данный метод может вернуть другой узел, который нужно будет преобразовать еще раз.This method can return another node which itself must be reduced.

(Унаследовано от Expression)
ReduceExtensions()

Упрощает выражение до известного типа узла (не являющегося узлом Extension) или возвращает выражение, если оно имеет известный тип.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.

(Унаследовано от Expression)
ToString()

Возвращает текстовое представление текущего объекта Expression.Returns a textual representation of the Expression.

(Унаследовано от Expression)
Update(Expression, LambdaExpression, Expression)

Создает новое выражение, идентичное данному, но использующее предоставленные дочерние элементы.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(ExpressionVisitor)

Упрощает узел и вызывает делегат-посетитель для преобразованного выражения.Reduces the node and then calls the visitor delegate on the reduced expression. Данный метод создает исключение, если узел невозможно упростить.The method throws an exception if the node is not reducible.

(Унаследовано от Expression)

Применяется к