Бөлісу құралы:


Expression.AddChecked Метод

Определение

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

Перегрузки

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

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

AddChecked(Expression, Expression, MethodInfo)

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

AddChecked(Expression, Expression)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

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

public:
 static System::Linq::Expressions::BinaryExpression ^ AddChecked(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression AddChecked(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member AddChecked : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function AddChecked (left As Expression, right As Expression) As BinaryExpression

Параметры

left
Expression

Значение, Expression равное свойству Left .

right
Expression

Значение, Expression равное свойству Right .

Возвращаемое значение

Значение BinaryExpression , равное свойству NodeTypeAddChecked и LeftRight свойствам, заданным указанным значениям.

Исключения

left или right есть null.

Оператор добавления не определен для left. Тип и right. Тип.

Комментарии

Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они false. Свойство Conversion является null.

Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.

Реализация метода

Следующие правила определяют метод реализации для операции:

  • Type Если свойство любого left или right представляет определяемый пользователем тип, который перегружает оператор сложения, MethodInfo это метод реализации.

  • В противном случае , если left. Тип и right. Тип — числовые типы, реализуется nullметод.

Тип узла и снятый и не поднимаемый

Если метод реализации не null :

  • Если left. Тип и right. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.

  • Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:

    • left. Тип и right. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.

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

Если метод реализации имеет значение null:

  • Если left.Тип и right.Тип оба не допускают значение NULL, узел не поднимается. Тип узла — это тип результата предопределенного оператора добавления.

  • Если тип left и тип right оба могут быть null, узел поднимается в более высокий уровень. Тип узла — это тип, допускающий значение NULL, соответствующий типу результата предопределенного оператора добавления.

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

AddChecked(Expression, Expression, MethodInfo)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

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

public:
 static System::Linq::Expressions::BinaryExpression ^ AddChecked(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression AddChecked(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression AddChecked(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member AddChecked : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function AddChecked (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

Параметры

left
Expression

Значение, Expression равное свойству Left .

right
Expression

Значение, Expression равное свойству Right .

method
MethodInfo

Значение, MethodInfo равное свойству Method .

Возвращаемое значение

ЗначениеBinaryExpression, равное свойству NodeTypeAddChecked и LeftRightMethod свойству, заданному указанным значениям.

Исключения

left или right есть null.

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

method is null , а оператор добавления не определен для left. Тип и right. Тип.

Комментарии

Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они false. Свойство Conversion является null.

Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.

Реализация метода

Метод реализации операции выбирается на основе следующих правил:

  • Если method это не null так, static и он представляет непустый метод (Shared в Visual Basic), который принимает два аргумента, это метод реализации для узла.

  • В противном случае, если Type свойство либо leftright представляет определяемый пользователем тип, который перегружает оператор сложения, MethodInfo то этот метод представляет собой метод реализации.

  • В противном случае , если left. Тип и right. Тип — числовые типы, реализуется nullметод.

Тип узла и снятый и не поднимаемый

Если метод реализации не null :

  • Если left. Тип и right. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.

  • Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:

    • left. Тип и right. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.

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

Если метод реализации имеет значение null:

  • Если left.Тип и right.Тип оба не допускают значение NULL, узел не поднимается. Тип узла — это тип результата предопределенного оператора добавления.

  • Если тип left и тип right оба могут быть null, узел поднимается в более высокий уровень. Тип узла — это тип, допускающий значение NULL, соответствующий типу результата предопределенного оператора добавления.

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