Expression.Add Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma BinaryExpression operação de adição aritmética que não tem verificação de estouro.
Sobrecargas
| Nome | Description |
|---|---|
| Add(Expression, Expression) |
Cria uma BinaryExpression operação de adição aritmética que não tem verificação de estouro. |
| Add(Expression, Expression, MethodInfo) |
Cria uma BinaryExpression operação de adição aritmética que não tem verificação de estouro. O método de implementação pode ser especificado. |
Add(Expression, Expression)
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
Cria uma BinaryExpression operação de adição aritmética que não tem verificação de estouro.
public:
static System::Linq::Expressions::BinaryExpression ^ Add(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Add(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Add : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Add (left As Expression, right As Expression) As BinaryExpression
Parâmetros
- left
- Expression
A Expression para definir a Left propriedade igual a.
- right
- Expression
A Expression para definir a Right propriedade igual a.
Retornos
Um BinaryExpression que tem a NodeType propriedade igual a Add e as Left propriedades e Right definidas para os valores especificados.
Exceções
left ou right é null.
O operador de adição não está definido para left. Digite e right. Tipo.
Exemplos
O exemplo de código a seguir mostra como criar uma expressão que adiciona dois inteiros.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression adds the values of its two arguments.
// Both arguments must be of the same type.
Expression sumExpr = Expression.Add(
Expression.Constant(1),
Expression.Constant(2)
);
// Print out the expression.
Console.WriteLine(sumExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<int>>(sumExpr).Compile()());
// This code example produces the following output:
//
// (1 + 2)
// 3
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression adds the values of its two arguments.
' Both arguments must be of the same type.
Dim sumExpr As Expression = Expression.Add(
Expression.Constant(1),
Expression.Constant(2)
)
' Print the expression.
Console.WriteLine(sumExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(sumExpr).Compile()())
' This code example produces the following output:
'
' (1 + 2)
' 3
Comentários
O Add método retorna um BinaryExpression que tem a Method propriedade definida para o método de implementação. A propriedade Type é definida como o tipo do nó. Se o nó for levantado, as propriedades IsLifted e IsLiftedToNull serão ambas true. Caso contrário, elas serão false. A propriedade Conversion é null.
As informações a seguir descrevem o método de implementação, o tipo de nó e se um nó tem comparação de precisão.
Implementando método
As regras a seguir determinam o método de implementação selecionado para a operação:
- Se a Type propriedade de um
leftourightrepresenta um tipo definido pelo usuário que sobrecarrega o operador de adição, o MethodInfo que representa esse método é o método de implementação. - Caso contrário, se
left.Tipo eright.Tipo são tipos numéricos, o método de implementação énull.
Tipo de nó e versão com comparação de precisão x sem comparação de precisão
Se o método de implementação não for null:
Se
left.Type eright.Type forem atribuíveis aos tipos de argumentos correspondentes do método de implementação, o nó não terá comparação de precisão. O tipo do nó é o tipo de retorno do método de implementação.Se as duas condições a seguir forem atendidas, o nó terá comparação de precisão e o tipo do nó será o tipo anulável que corresponde ao tipo de retorno do método de implementação:
-
left.tipo eright.tipo são ambos tipos de valor dos quais pelo menos um é nulo, e os tipos não nulos correspondentes são iguais aos tipos de argumento correspondentes do método de implementação. - O tipo de retorno do método de implementação é um tipo de valor não anulável.
-
Se o método de implementação for null:
- Se
left.Type eright.Type forem não anuláveis, o nó não terá comparação de precisão. O tipo do nó é o tipo de resultado do operador de adição pré-definido. - Se
left.Type eright.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é o tipo anulável correspondente ao tipo de resultado do operador de adição pré-definido.
Aplica-se a
Add(Expression, Expression, MethodInfo)
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
Cria uma BinaryExpression operação de adição aritmética que não tem verificação de estouro. O método de implementação pode ser especificado.
public:
static System::Linq::Expressions::BinaryExpression ^ Add(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Add(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Add(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Add : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Add (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Parâmetros
- left
- Expression
A Expression para definir a Left propriedade igual a.
- right
- Expression
A Expression para definir a Right propriedade igual a.
- method
- MethodInfo
A MethodInfo para definir a Method propriedade igual a.
Retornos
Um BinaryExpression que tem a NodeType propriedade igual a Add , e as LeftRightpropriedades definidas Method para os valores especificados.
Exceções
left ou right é null.
method não null é e o método que ele representa retorna void, não static é (Shared no Visual Basic) ou não usa exatamente dois argumentos.
method é null e o operador de adição não está definido para left. Digite e right. Tipo.
Comentários
O Add método retorna um BinaryExpression que tem a Method propriedade definida para o método de implementação. A propriedade Type é definida como o tipo do nó. Se o nó for levantado, as propriedades IsLifted e IsLiftedToNull serão ambas true. Caso contrário, elas serão false. A propriedade Conversion é null.
As informações a seguir descrevem o método de implementação, o tipo de nó e se um nó tem comparação de precisão.
Implementando método
As regras a seguir determinam o método de implementação selecionado para a operação:
- Se a Type propriedade de um
leftourightrepresenta um tipo definido pelo usuário que sobrecarrega o operador de adição, o MethodInfo que representa esse método é o método de implementação. - Caso contrário, se
left.Tipo eright.Tipo são tipos numéricos, o método de implementação énull.
Tipo de nó e versão com comparação de precisão x sem comparação de precisão
Se o método de implementação não for null:
Se
left.Type eright.Type forem atribuíveis aos tipos de argumentos correspondentes do método de implementação, o nó não terá comparação de precisão. O tipo do nó é o tipo de retorno do método de implementação.Se as duas condições a seguir forem atendidas, o nó terá comparação de precisão e o tipo do nó será o tipo anulável que corresponde ao tipo de retorno do método de implementação:
-
left.tipo eright.tipo são ambos tipos de valor dos quais pelo menos um é nulo, e os tipos não nulos correspondentes são iguais aos tipos de argumento correspondentes do método de implementação. - O tipo de retorno do método de implementação é um tipo de valor não anulável.
-
Se o método de implementação for null:
- Se
left.Type eright.Type forem não anuláveis, o nó não terá comparação de precisão. O tipo do nó é o tipo de resultado do operador de adição pré-definido. - Se
left.Type eright.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é o tipo anulável correspondente ao tipo de resultado do operador de adição pré-definido.