BinaryExpression Класс

Определение

Представляет выражение с двоичным оператором.

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
Наследование
BinaryExpression

Примеры

В следующем примере создается BinaryExpression объект, представляющий вычитание одного числа из другого.

// 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 представляет выражение с двоичным оператором.

В следующих таблицах обобщены методы фабрики, которые можно использовать для создания BinaryExpression, имеющего конкретный тип узла, определяемый свойством NodeType. Каждая таблица содержит сведения для определенного класса операций, таких как арифметические или побитовые.

Двоичные арифметические операции

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

Побитовые операции

Тип узла Фабричный Метод
And And
Or Or
ExclusiveOr ExclusiveOr

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

Тип узла Фабричный Метод
LeftShift LeftShift
RightShift RightShift

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

Тип узла Фабричный Метод
AndAlso AndAlso
OrElse OrElse

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

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

Операции объединения

Тип узла Фабричный Метод
Coalesce Coalesce

Операции индексирования массивов

Тип узла Фабричный Метод
ArrayIndex ArrayIndex

Кроме того, MakeBinary методы также можно использовать для создания BinaryExpression. Эти фабричные методы можно использовать для создания BinaryExpression любого типа узла, представляющего двоичную операцию. Параметр этих методов, который имеет тип NodeType , указывает нужный тип узла.

Свойства

Имя Описание
CanReduce

Возвращает значение, указывающее, можно ли уменьшить узел дерева выражений.

Conversion

Возвращает функцию преобразования типов, используемую операцией объединения или составной операции назначения.

IsLifted

Возвращает значение, указывающее, представляет ли узел дерева выражений вызов оператора.

IsLiftedToNull

Возвращает значение, указывающее, представляет ли узел дерева выражений вызов оператора, возвращаемый тип которого возвращается к типу NULL.

Left

Возвращает левый операнд двоичной операции.

Method

Возвращает метод реализации для двоичной операции.

NodeType

Возвращает тип узла данного Expressionобъекта.

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

Возвращает правый операнд двоичной операции.

Type

Возвращает статический тип выражения, представляющего это Expression выражение.

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

Методы

Имя Описание
Accept(ExpressionVisitor)

Отправляется в конкретный метод посещения для этого типа узла. Например, MethodCallExpression вызывает объект VisitMethodCall(MethodCallExpression).

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Уменьшает узел двоичного выражения до более простого выражения.

ReduceAndCheck()

Сокращает этот узел до более простого выражения. Если CanReduce возвращает значение true, это должно возвращать допустимое выражение. Этот метод может возвращать другой узел, который должен быть сокращен.

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

Уменьшает выражение до известного типа узла (который не является узлом расширения) или просто возвращает выражение, если оно уже известного типа.

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

Возвращает текстовое представление Expressionобъекта .

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

Создает новое выражение, аналогичное этому, но используя предоставленные дочерние элементы. Если все дочерние элементы одинаковы, он вернет это выражение.

VisitChildren(ExpressionVisitor)

Уменьшает узел, а затем вызывает делегат посетителя в сокращенном выражении. Метод создает исключение, если узел не является редуцируемым.

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

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