Expression Класс

Определение

Предоставляет базовый класс, из которого производные классы, представляющие узлы дерева выражений. Он также содержит static методы фабрики (Shared в Visual Basic) для создания различных типов узлов. Это abstract класс.

public ref class Expression abstract
public abstract class Expression
type Expression = class
Public MustInherit Class Expression
Наследование
Expression
Производный

Примеры

В следующем примере кода показано, как создать блочное выражение. Выражение блока состоит из двух MethodCallExpression объектов и одного ConstantExpression объекта.

// Add the following directive to your file:
// using System.Linq.Expressions;

// The block expression allows for executing several expressions sequentually.
// When the block expression is executed,
// it returns the value of the last expression in the sequence.
BlockExpression blockExpr = Expression.Block(
    Expression.Call(
        null,
        typeof(Console).GetMethod("Write", new Type[] { typeof(String) }),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        null,
        typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
);

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
var result = Expression.Lambda<Func<int>>(blockExpr).Compile()();

// Print out the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:");
foreach (var expr in blockExpr.Expressions)
    Console.WriteLine(expr.ToString());

// Print out the result of the tree execution.
Console.WriteLine("The return value of the block expression:");
Console.WriteLine(result);

// This code example produces the following output:
//
// The result of executing the expression tree:
// Hello World!

// The expressions from the block expression:
// Write("Hello ")
// WriteLine("World!")
// 42

// The return value of the block expression:
// 42
' Add the following directive to your file:
' Imports System.Linq.Expressions

' The block expression enables you to execute several expressions sequentually.
' When the block expression is executed,
' it returns the value of the last expression in the sequence.
Dim blockExpr As BlockExpression = Expression.Block(
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("Write", New Type() {GetType(String)}),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
)

Console.WriteLine("The result of executing the expression tree:")
' The following statement first creates an expression tree,
' then compiles it, and then executes it.           
Dim result = Expression.Lambda(Of Func(Of Integer))(blockExpr).Compile()()

' Print the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:")
For Each expr In blockExpr.Expressions
    Console.WriteLine(expr.ToString())
Next

' Print the result of the tree execution.
Console.WriteLine("The return value of the block expression:")
Console.WriteLine(result)

' This code example produces the following output:
'
' The result of executing the expression tree:
' Hello World!

' The expressions from the block expression:
' Write("Hello ")
' WriteLine("World!")
' 42

' The return value of the block expression:
' 42

Конструкторы

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

Создает новый экземпляр Expression.

Expression(ExpressionType, Type)
Устаревшие..
Устаревшие..

Инициализирует новый экземпляр класса Expression.

Свойства

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

Указывает, что узел может быть сокращен до более простого узла. Если это возвращает значение true, можно вызвать reduce() для создания сокращенной формы.

NodeType

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

Type

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

Методы

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

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

Add(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию сложения, которая не проверяет переполнение. Можно указать метод реализации.

Add(Expression, Expression)

Создает арифметическую BinaryExpression операцию сложения, которая не проверяет переполнение.

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения сложения, которая не проверяет переполнение.

AddAssign(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения сложения, которая не проверяет переполнение.

AddAssign(Expression, Expression)

Создает операцию BinaryExpression назначения сложения, которая не проверяет переполнение.

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает операцию назначения сложения, которая имеет проверку переполнения.

AddAssignChecked(Expression, Expression, MethodInfo)

BinaryExpression Создает операцию назначения сложения, которая имеет проверку переполнения.

AddAssignChecked(Expression, Expression)

BinaryExpression Создает операцию назначения сложения, которая имеет проверку переполнения.

AddChecked(Expression, Expression, MethodInfo)

BinaryExpression Создает арифметическую операцию сложения, которая имеет проверку переполнения. Можно указать метод реализации.

AddChecked(Expression, Expression)

BinaryExpression Создает арифметическую операцию сложения, которая имеет проверку переполнения.

And(Expression, Expression, MethodInfo)

Создает побитовую BinaryExpressionAND операцию. Можно указать метод реализации.

And(Expression, Expression)

Создает побитовую BinaryExpressionAND операцию.

AndAlso(Expression, Expression, MethodInfo)

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

AndAlso(Expression, Expression)

BinaryExpression Создает условную AND операцию, которая вычисляет второй операнд, только если первый операнд оцениваетсяtrue.

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает побитовую операцию НАЗНАЧЕНИЯ И.

AndAssign(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию НАЗНАЧЕНИЯ И.

AndAssign(Expression, Expression)

BinaryExpression Создает побитовую операцию НАЗНАЧЕНИЯ И.

ArrayAccess(Expression, Expression[])

IndexExpression Создает массив для доступа к массиву.

ArrayAccess(Expression, IEnumerable<Expression>)

IndexExpression Создает доступ к многомерному массиву.

ArrayIndex(Expression, Expression)

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

ArrayIndex(Expression, Expression[])

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

ArrayIndex(Expression, IEnumerable<Expression>)

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

ArrayLength(Expression)

UnaryExpression Создает выражение для получения длины одномерного массива.

Assign(Expression, Expression)

BinaryExpression Создает операцию назначения.

Bind(MemberInfo, Expression)

Создает объект MemberAssignment , представляющий инициализацию поля или свойства.

Bind(MethodInfo, Expression)

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

Block(Expression, Expression, Expression, Expression, Expression)

Создает объект BlockExpression , содержащий пять выражений и не имеющий переменных.

Block(Expression, Expression, Expression, Expression)

Создает объект BlockExpression , содержащий четыре выражения и не имеющий переменных.

Block(Expression, Expression, Expression)

Создает объект BlockExpression , содержащий три выражения и не имеющий переменных.

Block(Expression, Expression)

Создает объект BlockExpression , содержащий два выражения и не имеющий переменных.

Block(Expression[])

Создает объект BlockExpression , содержащий заданные выражения и не имеет переменных.

Block(IEnumerable<Expression>)

Создает объект BlockExpression , содержащий заданные выражения и не имеет переменных.

Block(IEnumerable<ParameterExpression>, Expression[])

Создает объект BlockExpression , содержащий заданные переменные и выражения.

Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)

Создает объект BlockExpression , содержащий заданные переменные и выражения.

Block(Type, Expression[])

Создает объект BlockExpression , содержащий заданные выражения, не имеет переменных и имеет определенный тип результата.

Block(Type, IEnumerable<Expression>)

Создает объект BlockExpression , содержащий заданные выражения, не имеет переменных и имеет определенный тип результата.

Block(Type, IEnumerable<ParameterExpression>, Expression[])

Создает объект BlockExpression , содержащий заданные переменные и выражения.

Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)

Создает объект BlockExpression , содержащий заданные переменные и выражения.

Break(LabelTarget, Expression, Type)

GotoExpression Создает оператор останова с указанным типом. Можно указать значение, переданное меткой при переходе.

Break(LabelTarget, Expression)

GotoExpression Создает оператор останова. Можно указать значение, переданное меткой при переходе.

Break(LabelTarget, Type)

GotoExpression Создает оператор останова с указанным типом.

Break(LabelTarget)

GotoExpression Создает оператор останова.

Call(Expression, MethodInfo, Expression, Expression, Expression)

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

Call(Expression, MethodInfo, Expression, Expression)

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

Call(Expression, MethodInfo, Expression[])

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

Call(Expression, MethodInfo, IEnumerable<Expression>)

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

Call(Expression, MethodInfo)

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

Call(Expression, String, Type[], Expression[])

Создает объект MethodCallExpression , представляющий вызов метода, вызывая соответствующий метод фабрики.

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

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

Call(MethodInfo, Expression, Expression, Expression, Expression)

Создает вызов MethodCallExpression статического метода, который принимает четыре аргумента.

Call(MethodInfo, Expression, Expression, Expression)

Создает вызов MethodCallExpression статического метода, который принимает три аргумента.

Call(MethodInfo, Expression, Expression)

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

Call(MethodInfo, Expression)

Создает метод MethodCallExpression , представляющий вызов static метода (Shared в Visual Basic), который принимает один аргумент.

Call(MethodInfo, Expression[])

Создает метод MethodCallExpression , представляющий вызов static метода (Shared в Visual Basic), который имеет аргументы.

Call(MethodInfo, IEnumerable<Expression>)

Создает метод MethodCallExpression , представляющий вызов статического метода (shared in Visual Basic).

Call(Type, String, Type[], Expression[])

MethodCallExpression Создает метод, представляющий вызов static метода (Sharedв Visual Basic), вызвав соответствующий метод фабрики.

Catch(ParameterExpression, Expression, Expression)

CatchBlock Создает оператор catch с фильтром Exception и ссылкой на пойманный Exception объект.

Catch(ParameterExpression, Expression)

CatchBlock Создает оператор catch со ссылкой на пойманный Exception объект для использования в тексте обработчика.

Catch(Type, Expression, Expression)

CatchBlock Создает оператор catch с фильтромException, но не ссылается на пойманный Exception объект.

Catch(Type, Expression)

Создает инструкцию CatchBlock catch.

ClearDebugInfo(SymbolDocumentInfo)

DebugInfoExpression Создает объект для очистки точки последовательности.

Coalesce(Expression, Expression, LambdaExpression)

BinaryExpression Создает операцию объединения с учетом функции преобразования.

Coalesce(Expression, Expression)

BinaryExpression Создает операцию объединения.

Condition(Expression, Expression, Expression, Type)

Создает условный ConditionalExpression оператор.

Condition(Expression, Expression, Expression)

Создает условный ConditionalExpression оператор.

Constant(Object, Type)

Создает объект ConstantExpression с Value заданными значениями и Type свойствами.

Constant(Object)

ConstantExpression Создает свойство с Value заданным значением.

Continue(LabelTarget, Type)

GotoExpression Создает оператор continue с указанным типом.

Continue(LabelTarget)

GotoExpression Создает представляющую инструкцию continue.

Convert(Expression, Type, MethodInfo)

UnaryExpression Создает операцию преобразования, для которой указан метод реализации.

Convert(Expression, Type)

Создает операцию UnaryExpression преобразования типов.

ConvertChecked(Expression, Type, MethodInfo)

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен и для которого указан метод реализации.

ConvertChecked(Expression, Type)

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен.

DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32)

Создает объект DebugInfoExpression с указанным диапазоном.

Decrement(Expression, MethodInfo)

Создает объект UnaryExpression , представляющий уменьшение выражения на 1.

Decrement(Expression)

Создает объект UnaryExpression , представляющий уменьшение выражения на 1.

Default(Type)

DefaultExpression Создает свойство с Type заданным типом.

Divide(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию деления. Можно указать метод реализации.

Divide(Expression, Expression)

Создает арифметическую BinaryExpression операцию деления.

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения деления, которая не проверяет переполнение.

DivideAssign(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения деления, которая не проверяет переполнение.

DivideAssign(Expression, Expression)

Создает операцию BinaryExpression назначения деления, которая не проверяет переполнение.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression[])

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

ElementInit(MethodInfo, Expression[])

ElementInitСоздает массив значений в качестве второго аргумента.

ElementInit(MethodInfo, IEnumerable<Expression>)

Создает объект , заданный ElementInitIEnumerable<T> в качестве второго аргумента.

Empty()

Создает пустое выражение с Void типом.

Equal(Expression, Expression, Boolean, MethodInfo)

Создает объект BinaryExpression , представляющий сравнение равенства. Можно указать метод реализации.

Equal(Expression, Expression)

Создает объект BinaryExpression , представляющий сравнение равенства.

Equals(Object)

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

(Унаследовано от Object)
ExclusiveOr(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую XOR операцию, используемую op_ExclusiveOr для определяемых пользователем типов. Можно указать метод реализации.

ExclusiveOr(Expression, Expression)

BinaryExpression Создает побитовую XOR операцию, используемую op_ExclusiveOr для определяемых пользователем типов.

ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает побитовую операцию назначения XOR, используемую op_ExclusiveOr для определяемых пользователем типов.

ExclusiveOrAssign(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию назначения XOR, используемую op_ExclusiveOr для определяемых пользователем типов.

ExclusiveOrAssign(Expression, Expression)

BinaryExpression Создает побитовую операцию назначения XOR, используемую op_ExclusiveOr для определяемых пользователем типов.

Field(Expression, FieldInfo)

Создает объект MemberExpression , представляющий доступ к полю.

Field(Expression, String)

Создает объект MemberExpression , представляющий доступ к полю с именем поля.

Field(Expression, Type, String)

Создает объект MemberExpression , представляющий доступ к полю.

GetActionType(Type[])

Type Создает объект, представляющий универсальный Action тип делегата с определенными аргументами типа.

GetDelegateType(Type[])

Type Возвращает объект, представляющий универсальный или Func<TResult> делегатный Action тип с определенными аргументами типа.

GetFuncType(Type[])

Type Создает объект, представляющий универсальный Func<TResult> тип делегата с определенными аргументами типа. Последний аргумент типа указывает тип возврата созданного делегата.

GetHashCode()

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

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

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

(Унаследовано от Object)
Goto(LabelTarget, Expression, Type)

GotoExpression Создает оператор go to с указанным типом. Можно указать значение, переданное меткой при переходе.

Goto(LabelTarget, Expression)

Создает инструкцию GotoExpression go to. Можно указать значение, переданное меткой при переходе.

Goto(LabelTarget, Type)

GotoExpression Создает оператор go to с указанным типом.

Goto(LabelTarget)

Создает инструкцию GotoExpression go to.

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Создает объект BinaryExpression , представляющий числовое сравнение "больше", Можно указать метод реализации.

GreaterThan(Expression, Expression)

Создает объект BinaryExpression , представляющий числовое сравнение "больше",

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

BinaryExpression Создает значение, представляющее "больше или равно" числовое сравнение.

GreaterThanOrEqual(Expression, Expression)

BinaryExpression Создает значение, представляющее "больше или равно" числовое сравнение.

IfThen(Expression, Expression)

ConditionalExpression Создает условный блок с операторомif.

IfThenElse(Expression, Expression, Expression)

ConditionalExpression Создает условный блок с if операторами и else операторами.

Increment(Expression, MethodInfo)

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

Increment(Expression)

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

Invoke(Expression, Expression[])

Создает выражение InvocationExpression , которое применяет делегат или лямбда-выражение к списку выражений аргументов.

Invoke(Expression, IEnumerable<Expression>)

Создает выражение InvocationExpression , которое применяет делегат или лямбда-выражение к списку выражений аргументов.

IsFalse(Expression, MethodInfo)

Возвращает значение false выражения.

IsFalse(Expression)

Возвращает значение false выражения.

IsTrue(Expression, MethodInfo)

Возвращает значение true выражения.

IsTrue(Expression)

Возвращает значение true выражения.

Label()

Создает метку с типом LabelTarget void и без имени.

Label(LabelTarget, Expression)

LabelExpression Создает метку с заданным значением по умолчанию.

Label(LabelTarget)

LabelExpression Создает метку без значения по умолчанию.

Label(String)

Создает метку с типом LabelTarget void и заданным именем.

Label(Type, String)

LabelTarget Создает метку с заданным типом и именем.

Label(Type)

LabelTarget Создает метку с заданным типом.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

LambdaExpression Создает сначала создание типа делегата из текста выражения, параметр, указывающий, будет ли применяться оптимизация хвостового вызова, а также перечисление коллекции выражений параметров. Его можно использовать, если тип делегата не известен во время компиляции.

Lambda(Expression, Boolean, ParameterExpression[])

LambdaExpression Создает путем создания типа делегата из текста выражения, параметра, указывающего, будет ли применяться оптимизация хвостового вызова, а также массив выражений параметров. Его можно использовать, если тип делегата не известен во время компиляции.

Lambda(Expression, IEnumerable<ParameterExpression>)

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

Lambda(Expression, ParameterExpression[])

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

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

LambdaExpression Создает путем создания типа делегата из текста выражения, имени лямбда-файла, параметра, указывающего, будет ли применена оптимизация хвостового вызова, а также перечисленная коллекция выражений параметров. Его можно использовать, если тип делегата не известен во время компиляции.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

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

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

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

Lambda(Type, Expression, Boolean, ParameterExpression[])

LambdaExpression Создает место, где тип делегата известен во время компиляции с параметром, который указывает, будет ли применяться оптимизация хвостового вызова, а также массив выражений параметров.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Создает место LambdaExpression , где тип делегата известен во время компиляции с перечисленной коллекцией выражений параметров.

Lambda(Type, Expression, ParameterExpression[])

LambdaExpression Создает место, где тип делегата известен во время компиляции с массивом выражений параметров.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

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

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

LambdaExpression Создает место, где тип делегата известен во время компиляции с именем лямбда-выражения и перечисленной коллекцией выражений параметров.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Создает место Expression<TDelegate> , где тип делегата известен во время компиляции, с параметром, указывающим, будет ли применяться оптимизация вызова хвоста, а также перечисленная коллекция выражений параметров.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Создает место Expression<TDelegate> , где тип делегата известен во время компиляции, с параметром, указывающим, будет ли применяться оптимизация хвостового вызова, а также массив выражений параметров.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Создает место Expression<TDelegate> , где тип делегата известен во время компиляции с перечисленной коллекцией выражений параметров.

Lambda<TDelegate>(Expression, ParameterExpression[])

Создает место Expression<TDelegate> , где тип делегата известен во время компиляции с массивом выражений параметров.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Expression<TDelegate> Создает место, где тип делегата известен во время компиляции с именем лямбда-файла, параметром, указывающим, будет ли применяться оптимизация хвостового вызова, а также перечисленная коллекция выражений параметров.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Expression<TDelegate> Создает место, где тип делегата известен во время компиляции с именем лямбда-лямбда- и перечисленной коллекцией выражений параметров.

LeftShift(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию сдвига влево.

LeftShift(Expression, Expression)

BinaryExpression Создает побитовую операцию сдвига влево.

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает побитовую операцию назначения влево.

LeftShiftAssign(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию назначения влево.

LeftShiftAssign(Expression, Expression)

BinaryExpression Создает побитовую операцию назначения влево.

LessThan(Expression, Expression, Boolean, MethodInfo)

Создает объект BinaryExpression , представляющий "меньше" числовое сравнение.

LessThan(Expression, Expression)

Создает объект BinaryExpression , представляющий "меньше" числовое сравнение.

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

Создает BinaryExpression, представляющий "меньше или равно" числовое сравнение.

LessThanOrEqual(Expression, Expression)

Создает BinaryExpression, представляющую "меньше или равно" числовое сравнение.

ListBind(MemberInfo, ElementInit[])

MemberListBinding Создает место, где элемент является полем или свойством.

ListBind(MemberInfo, IEnumerable<ElementInit>)

MemberListBinding Создает место, где элемент является полем или свойством.

ListBind(MethodInfo, ElementInit[])

MemberListBinding Создает объект на основе указанного метода доступа к свойствам.

ListBind(MethodInfo, IEnumerable<ElementInit>)

Создает объект MemberListBinding на основе указанного метода доступа к свойствам.

ListInit(NewExpression, ElementInit[])

Создает объект, использующий указанные ListInitExpressionElementInit объекты для инициализации коллекции.

ListInit(NewExpression, Expression[])

ListInitExpression Создает метод с именем Add для добавления элементов в коллекцию.

ListInit(NewExpression, IEnumerable<ElementInit>)

Создает объект, использующий указанные ListInitExpressionElementInit объекты для инициализации коллекции.

ListInit(NewExpression, IEnumerable<Expression>)

ListInitExpression Создает метод с именем Add для добавления элементов в коллекцию.

ListInit(NewExpression, MethodInfo, Expression[])

Создает объект ListInitExpression , использующий указанный метод для добавления элементов в коллекцию.

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Создает объект ListInitExpression , использующий указанный метод для добавления элементов в коллекцию.

Loop(Expression, LabelTarget, LabelTarget)

Создает объект с заданным текстом LoopExpression .

Loop(Expression, LabelTarget)

LoopExpression Создает объект с заданным телом и целевым объектом останова.

Loop(Expression)

Создает объект с заданным текстом LoopExpression .

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression)

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

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo)

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

MakeBinary(ExpressionType, Expression, Expression)

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

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

CatchBlock Создает оператор catch с указанными элементами.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

DynamicExpression Создает динамическую операцию, связанную предоставленными CallSiteBinder и четырьмя аргументами.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

DynamicExpression Создает динамическую операцию, связанную предоставленными CallSiteBinder и тремя аргументами.

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

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

MakeDynamic(Type, CallSiteBinder, Expression)

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

MakeDynamic(Type, CallSiteBinder, Expression[])

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

Создает объект DynamicExpression , представляющий динамическую операцию, привязанную предоставленным CallSiteBinder.

MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)

GotoExpression Создает прыжок указанного значенияGotoExpressionKind. Можно также указать значение, переданное меткой при переходе.

MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)

Создает объект IndexExpression , представляющий доступ к индексированного свойства в объекте.

MakeMemberAccess(Expression, MemberInfo)

Создает объект MemberExpression , представляющий доступ к полю или свойству.

MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)

TryExpression Создает блок пробной попытки с указанными элементами.

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

UnaryExpressionСоздает операнду и реализующий метод путем вызова соответствующего метода фабрики.

MakeUnary(ExpressionType, Expression, Type)

UnaryExpressionСоздает операнду, вызывая соответствующий метод фабрики.

MemberBind(MemberInfo, IEnumerable<MemberBinding>)

Создает объект MemberMemberBinding , представляющий рекурсивную инициализацию элементов поля или свойства.

MemberBind(MemberInfo, MemberBinding[])

Создает объект MemberMemberBinding , представляющий рекурсивную инициализацию элементов поля или свойства.

MemberBind(MethodInfo, IEnumerable<MemberBinding>)

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

MemberBind(MethodInfo, MemberBinding[])

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

MemberInit(NewExpression, IEnumerable<MemberBinding>)

Представляет выражение, которое создает новый объект и инициализирует свойство объекта.

MemberInit(NewExpression, MemberBinding[])

Создает объект MemberInitExpression.

MemberwiseClone()

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

(Унаследовано от Object)
Modulo(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию оставшегося элемента.

Modulo(Expression, Expression)

Создает арифметическую BinaryExpression операцию оставшегося элемента.

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения оставшихся элементов.

ModuloAssign(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения оставшихся элементов.

ModuloAssign(Expression, Expression)

Создает операцию BinaryExpression назначения оставшихся элементов.

Multiply(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию умножения, которая не проверяет переполнение.

Multiply(Expression, Expression)

Создает арифметическую BinaryExpression операцию умножения, которая не проверяет переполнение.

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения умножения, которая не проверяет переполнение.

MultiplyAssign(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения умножения, которая не проверяет переполнение.

MultiplyAssign(Expression, Expression)

Создает операцию BinaryExpression назначения умножения, которая не проверяет переполнение.

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает операцию назначения умножения, которая имеет проверку переполнения.

MultiplyAssignChecked(Expression, Expression, MethodInfo)

BinaryExpression Создает операцию назначения умножения, которая имеет проверку переполнения.

MultiplyAssignChecked(Expression, Expression)

BinaryExpression Создает операцию назначения умножения, которая имеет проверку переполнения.

MultiplyChecked(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию умножения, которая имеет проверку переполнения.

MultiplyChecked(Expression, Expression)

Создает арифметическую BinaryExpression операцию умножения, которая имеет проверку переполнения.

Negate(Expression, MethodInfo)

Создает арифметическую UnaryExpression операцию отрицания.

Negate(Expression)

Создает арифметическую UnaryExpression операцию отрицания.

NegateChecked(Expression, MethodInfo)

Создает арифметическую UnaryExpression операцию отрицания, которая имеет проверку переполнения. Можно указать метод реализации.

NegateChecked(Expression)

Создает арифметическую UnaryExpression операцию отрицания, которая имеет проверку переполнения.

New(ConstructorInfo, Expression[])

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

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Создает объект NewExpression , представляющий вызов указанного конструктора с указанными аргументами. Указываются элементы, обращаюющиеся к полям инициализированного конструктора.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Создает объект NewExpression , представляющий вызов указанного конструктора с указанными аргументами. Члены, обращаюющиеся к инициализированным полям конструктора, указываются в виде массива.

New(ConstructorInfo, IEnumerable<Expression>)

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

New(ConstructorInfo)

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

New(Type)

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

NewArrayBounds(Type, Expression[])

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

NewArrayBounds(Type, IEnumerable<Expression>)

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

NewArrayInit(Type, Expression[])

NewArrayExpression Создает объект, представляющий создание одномерного массива и инициализацию его из списка элементов.

NewArrayInit(Type, IEnumerable<Expression>)

NewArrayExpression Создает объект, представляющий создание одномерного массива и инициализацию его из списка элементов.

Not(Expression, MethodInfo)

UnaryExpression Создает побитовую операцию дополнения. Можно указать метод реализации.

Not(Expression)

UnaryExpression Создает побитовую операцию дополнения.

NotEqual(Expression, Expression, Boolean, MethodInfo)

Создает объект, BinaryExpression представляющий сравнение неравенства.

NotEqual(Expression, Expression)

Создает объект, BinaryExpression представляющий сравнение неравенства.

OnesComplement(Expression, MethodInfo)

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

OnesComplement(Expression)

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

Or(Expression, Expression, MethodInfo)

Создает побитовую BinaryExpressionOR операцию.

Or(Expression, Expression)

Создает побитовую BinaryExpressionOR операцию.

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает побитовую BinaryExpression операцию НАЗНАЧЕНИЯ ИЛИ.

OrAssign(Expression, Expression, MethodInfo)

Создает побитовую BinaryExpression операцию НАЗНАЧЕНИЯ ИЛИ.

OrAssign(Expression, Expression)

Создает побитовую BinaryExpression операцию НАЗНАЧЕНИЯ ИЛИ.

OrElse(Expression, Expression, MethodInfo)

BinaryExpression Создает условную OR операцию, которая вычисляет второй операнд, только если первый операнд оцениваетсяfalse.

OrElse(Expression, Expression)

BinaryExpression Создает условную OR операцию, которая вычисляет второй операнд, только если первый операнд оцениваетсяfalse.

Parameter(Type, String)

ParameterExpression Создает узел, который можно использовать для идентификации параметра или переменной в дереве выражений.

Parameter(Type)

ParameterExpression Создает узел, который можно использовать для идентификации параметра или переменной в дереве выражений.

PostDecrementAssign(Expression, MethodInfo)

Создает объект UnaryExpression , представляющий назначение выражения, за которым следует последующее уменьшение на 1 исходного выражения.

PostDecrementAssign(Expression)

Создает объект UnaryExpression , представляющий назначение выражения, за которым следует последующее уменьшение на 1 исходного выражения.

PostIncrementAssign(Expression, MethodInfo)

Создает объект UnaryExpression , представляющий назначение выражения, за которым следует последующее увеличение на 1 исходного выражения.

PostIncrementAssign(Expression)

Создает объект UnaryExpression , представляющий назначение выражения, за которым следует последующее увеличение на 1 исходного выражения.

Power(Expression, Expression, MethodInfo)

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

Power(Expression, Expression)

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

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает объект BinaryExpression , представляющий повышение выражения в силу и назначение результата обратно выражению.

PowerAssign(Expression, Expression, MethodInfo)

Создает объект BinaryExpression , представляющий повышение выражения в силу и назначение результата обратно выражению.

PowerAssign(Expression, Expression)

Создает объект BinaryExpression , представляющий повышение выражения в силу и назначение результата обратно выражению.

PreDecrementAssign(Expression, MethodInfo)

UnaryExpression Создает выражение, которое уменьшает выражение на 1 и назначает результат обратно выражению.

PreDecrementAssign(Expression)

UnaryExpression Создает выражение, которое уменьшает выражение на 1 и назначает результат обратно выражению.

PreIncrementAssign(Expression, MethodInfo)

Создает значение UnaryExpression , которое увеличивает выражение на 1 и назначает результат обратно выражению.

PreIncrementAssign(Expression)

Создает значение UnaryExpression , которое увеличивает выражение на 1 и назначает результат обратно выражению.

Property(Expression, MethodInfo)

Создает объект MemberExpression , представляющий доступ к свойству с помощью метода доступа к свойствам.

Property(Expression, PropertyInfo, Expression[])

IndexExpression Создает представление доступа к индексированного свойства.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

IndexExpression Создает представление доступа к индексированного свойства.

Property(Expression, PropertyInfo)

Создает объект MemberExpression , представляющий доступ к свойству.

Property(Expression, String, Expression[])

IndexExpression Создает представление доступа к индексированного свойства.

Property(Expression, String)

Создает объект MemberExpression , представляющий доступ к свойству.

Property(Expression, Type, String)

Создает доступ к свойству MemberExpression .

PropertyOrField(Expression, String)

Создает объект MemberExpression , представляющий доступ к свойству или полю.

Quote(Expression)

UnaryExpression Создает выражение с константным значением типаExpression.

Reduce()

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

ReduceAndCheck()

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

ReduceExtensions()

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

ReferenceEqual(Expression, Expression)

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

ReferenceNotEqual(Expression, Expression)

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

Rethrow()

Создает объект UnaryExpression , представляющий повторное увеличение исключения.

Rethrow(Type)

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

Return(LabelTarget, Expression, Type)

GotoExpression Создает оператор return с указанным типом. Можно указать значение, переданное меткой при переходе.

Return(LabelTarget, Expression)

Создает оператор GotoExpression return. Можно указать значение, переданное меткой при переходе.

Return(LabelTarget, Type)

GotoExpression Создает оператор return с указанным типом.

Return(LabelTarget)

Создает оператор GotoExpression return.

RightShift(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию сдвига вправо.

RightShift(Expression, Expression)

BinaryExpression Создает побитовую операцию сдвига вправо.

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

BinaryExpression Создает побитовую операцию назначения вправо.

RightShiftAssign(Expression, Expression, MethodInfo)

BinaryExpression Создает побитовую операцию назначения вправо.

RightShiftAssign(Expression, Expression)

BinaryExpression Создает побитовую операцию назначения вправо.

RuntimeVariables(IEnumerable<ParameterExpression>)

Создает экземпляр .RuntimeVariablesExpression

RuntimeVariables(ParameterExpression[])

Создает экземпляр .RuntimeVariablesExpression

Subtract(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию вычитания, которая не имеет проверки переполнения.

Subtract(Expression, Expression)

Создает арифметическую BinaryExpression операцию вычитания, которая не имеет проверки переполнения.

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения вычитания, которая не проверяет переполнение.

SubtractAssign(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения вычитания, которая не проверяет переполнение.

SubtractAssign(Expression, Expression)

Создает операцию BinaryExpression назначения вычитания, которая не проверяет переполнение.

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

Создает операцию BinaryExpression назначения вычитания, которая имеет проверку переполнения.

SubtractAssignChecked(Expression, Expression, MethodInfo)

Создает операцию BinaryExpression назначения вычитания, которая имеет проверку переполнения.

SubtractAssignChecked(Expression, Expression)

Создает операцию BinaryExpression назначения вычитания, которая имеет проверку переполнения.

SubtractChecked(Expression, Expression, MethodInfo)

Создает арифметическую BinaryExpression операцию вычитания, которая имеет проверку переполнения.

SubtractChecked(Expression, Expression)

Создает арифметическую BinaryExpression операцию вычитания, которая имеет проверку переполнения.

Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

Создает инструкцию SwitchExpression , которая имеет switch регистр по умолчанию.

Switch(Expression, Expression, MethodInfo, SwitchCase[])

Создает инструкцию SwitchExpression , которая имеет switch регистр по умолчанию.

Switch(Expression, Expression, SwitchCase[])

Создает инструкцию SwitchExpression , которая имеет switch регистр по умолчанию.

Switch(Expression, SwitchCase[])

Создает инструкцию SwitchExpressionswitch без регистра по умолчанию.

Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

Создает инструкцию SwitchExpression , которая имеет switch регистр по умолчанию.

Switch(Type, Expression, Expression, MethodInfo, SwitchCase[])

Создает инструкцию SwitchExpression , которая имеет switch регистр по умолчанию.

SwitchCase(Expression, Expression[])

SwitchCase Создает для использования в объекте SwitchExpression.

SwitchCase(Expression, IEnumerable<Expression>)

Создает объект, используемый SwitchCase в объекте SwitchExpression .

SymbolDocument(String, Guid, Guid, Guid)

Создает экземпляр .SymbolDocumentInfo

SymbolDocument(String, Guid, Guid)

Создает экземпляр .SymbolDocumentInfo

SymbolDocument(String, Guid)

Создает экземпляр .SymbolDocumentInfo

SymbolDocument(String)

Создает экземпляр .SymbolDocumentInfo

Throw(Expression, Type)

Создает исключение UnaryExpression с заданным типом.

Throw(Expression)

Создает исключение UnaryExpression , представляющее исключение.

ToString()

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

TryCatch(Expression, CatchBlock[])

TryExpression Создает блок пробной попытки с любым числом операторов catch и ни сбоем, ни блоком.

TryCatchFinally(Expression, Expression, CatchBlock[])

TryExpression Создает блок пробной попытки с любым количеством операторов catch и блоком, наконец.

TryFault(Expression, Expression)

TryExpression Создает блок пробной попытки с блоком сбоя и не выполняет инструкции catch.

TryFinally(Expression, Expression)

TryExpression Создает блок пробной попытки с блоком, наконец, без операторов catch.

TryGetActionType(Type[], Type)

Создает объект, представляющий универсальный Type тип делегата System.Action с определенными аргументами типа.

TryGetFuncType(Type[], Type)

Создает объект, представляющий универсальный Type тип делегата System.Func, имеющий определенные аргументы типа. Последний аргумент типа указывает тип возврата созданного делегата.

TypeAs(Expression, Type)

UnaryExpression Создает объект, представляющий явную ссылку или преобразование бокса, где null предоставляется, если преобразование завершается ошибкой.

TypeEqual(Expression, Type)

TypeBinaryExpression Создает удостоверение типа выполнения, которое сравнивает удостоверение типа выполнения.

TypeIs(Expression, Type)

Создает объект TypeBinaryExpression.

UnaryPlus(Expression, MethodInfo)

UnaryExpression Создает унарную операцию плюс.

UnaryPlus(Expression)

UnaryExpression Создает унарную операцию плюс.

Unbox(Expression, Type)

Создает объект UnaryExpression , представляющий явную распаковку.

Variable(Type, String)

ParameterExpression Создает узел, который можно использовать для идентификации параметра или переменной в дереве выражений.

Variable(Type)

ParameterExpression Создает узел, который можно использовать для идентификации параметра или переменной в дереве выражений.

VisitChildren(ExpressionVisitor)

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

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