Expression.Multiply 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 um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro.
Sobrecargas
Multiply(Expression, Expression, MethodInfo) |
Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro. |
Multiply(Expression, Expression) |
Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro. |
Multiply(Expression, Expression, MethodInfo)
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro.
public:
static System::Linq::Expressions::BinaryExpression ^ Multiply(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Multiply (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Multiply (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Multiply : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Multiply (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Parâmetros
- left
- Expression
Um Expression para definir a propriedade Left igual a ele.
- right
- Expression
Um Expression para definir a propriedade Right igual a ele.
- method
- MethodInfo
Um MethodInfo para definir a propriedade Method igual a ele.
Retornos
Um BinaryExpression que tem a propriedade NodeType igual a Multiply e as propriedades Left, Right e Method definidas com 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 tem exatamente dois argumentos.
method
é null
e o operador de multiplicação não foi definido para left
.Type e right
.Type.
Comentários
O resultante BinaryExpression tem a Method propriedade definida como o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for levantado, as IsLifted propriedades e IsLiftedToNull serão true
. Caso contrário, eles 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ó é levantado.
Implementando método
As regras a seguir determinam o método de implementação para a operação:
Se
method
nãonull
for e representar um método não nulo,static
(Shared
no Visual Basic) que usa dois argumentos, é o método de implementação para o nó.Caso contrário, se a Type propriedade de
left
ouright
representar um tipo definido pelo usuário que sobrecarrega o operador de multiplicação, o MethodInfo que representa esse método é o método de implementação.Caso contrário, se
left
. Digite 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 null
for :
Se
left
. Digite eright
. O tipo é atribuível aos tipos de argumento correspondentes do método de implementação, o nó não é levantado. 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ó será levantado e o tipo do nó será o tipo que permite valor nulo que corresponde ao tipo de retorno do método de implementação:
left
. Digite eright
. Tipo são tipos de valor dos quais pelo menos um é anulável e os tipos não anuláveis 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
. Digite eright
. O tipo não permite valor nulo, o nó não é levantado. O tipo do nó é o tipo de resultado do operador de multiplicação predefinido.Se
left
. Digite eright
. O tipo é anulável, o nó é levantado. O tipo do nó é o tipo anulável que corresponde ao tipo de resultado do operador de multiplicação predefinido.
Aplica-se a
Multiply(Expression, Expression)
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
- Origem:
- BinaryExpression.cs
Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro.
public:
static System::Linq::Expressions::BinaryExpression ^ Multiply(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Multiply (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Multiply : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Multiply (left As Expression, right As Expression) As BinaryExpression
Parâmetros
- left
- Expression
Um Expression para definir a propriedade Left igual a ele.
- right
- Expression
Um Expression para definir a propriedade Right igual a ele.
Retornos
Um BinaryExpression que tem a propriedade NodeType igual a Multiply e as propriedades Left e Right definidas com os valores especificados.
Exceções
left
ou right
é null
.
O operador de multiplicação não está definido como left
.Type e right
.Type.
Exemplos
O exemplo de código a seguir mostra como criar uma expressão que multiplica dois valores.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression multiplies its two arguments.
// Both arguments must be of the same type.
Expression multiplyExpr = Expression.Multiply(
Expression.Constant(10),
Expression.Constant(4)
);
// Print out the expression.
Console.WriteLine(multiplyExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda<Func<int>>(multiplyExpr).Compile()());
// This code example produces the following output:
//
// (10*4)
// 40
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression multiplies its two arguments.
' Both arguments must be of the same type.
Dim multiplyExpr As Expression = Expression.Multiply(
Expression.Constant(10),
Expression.Constant(4)
)
' Print the expression.
Console.WriteLine(multiplyExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda(Of Func(Of Integer))(multiplyExpr).Compile()())
' This code example produces the following output:
'
' (10*4)
' 40
Comentários
O resultante BinaryExpression tem a Method propriedade definida como o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for levantado, as IsLifted propriedades e IsLiftedToNull serão true
. Caso contrário, eles 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ó é levantado.
Implementando método
As regras a seguir determinam o método de implementação selecionado para a operação:
Se a Type propriedade de
left
ouright
representar um tipo definido pelo usuário que sobrecarrega o operador de multiplicação, o MethodInfo que representa esse método é o método de implementação.Caso contrário, se
left
. Digite 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 null
for :
Se
left
. Digite eright
. O tipo é atribuível aos tipos de argumento correspondentes do método de implementação, o nó não é levantado. 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ó será levantado e o tipo do nó será o tipo que permite valor nulo que corresponde ao tipo de retorno do método de implementação:
left
. Digite eright
. Tipo são tipos de valor dos quais pelo menos um é anulável e os tipos não anuláveis 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
. Digite eright
. O tipo não permite valor nulo, o nó não é levantado. O tipo do nó é o tipo de resultado do operador de multiplicação predefinido.Se
left
. Digite eright
. O tipo é anulável, o nó é levantado. O tipo do nó é o tipo anulável que corresponde ao tipo de resultado do operador de multiplicação predefinido.