Compartilhar via


Expression.Modulo Método

Definição

Cria um BinaryExpression que representa uma operação de restante aritmética.

Sobrecargas

Nome Description
Modulo(Expression, Expression)

Cria um BinaryExpression que representa uma operação de restante aritmética.

Modulo(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de restante aritmética.

Modulo(Expression, Expression)

Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs

Cria um BinaryExpression que representa uma operação de restante aritmética.

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

Parâmetros

left
Expression

Um Expression para definir a Left propriedade igual a.

right
Expression

Um Expression para definir a Right propriedade igual a.

Retornos

Um BinaryExpression que tem a NodeType propriedade igual a Modulo e as Left propriedades e Right definidas para os valores especificados.

Exceções

left ou right é null.

O operador de módulo não está definido para left. Digite e right. Tipo.

Comentários

O resultado BinaryExpression tem a Method propriedade definida como 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 left ou right representa um tipo definido pelo usuário que sobrecarrega o operador modulus, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left.Tipo e right.Tipo são tipos numéricos, o método de implementação é null.

Tipo de nó e levantado versus não-levantado

Se o método de implementação não for null:

  • Se left.Type e right.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 e right.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 e right.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 módulo predefinido.

  • Se left.Type e right.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é o tipo anulável que corresponde ao tipo de resultado do operador de módulo predefinido.

Aplica-se a

Modulo(Expression, Expression, MethodInfo)

Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs

Cria um BinaryExpression que representa uma operação de restante aritmética.

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

Parâmetros

left
Expression

Um Expression para definir a Left propriedade igual a.

right
Expression

Um 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 e Modulo a Left, Righte Method propriedades definidas 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 módulo não está definido para left. Digite e right. Tipo.

Comentários

O resultado BinaryExpression tem a Method propriedade definida como 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

O método de implementação para a operação é escolhido com base nas seguintes regras:

  • Se method não null estiver 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 um left ou right representa um tipo definido pelo usuário que sobrecarrega o operador modulus, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left.Tipo e right.Tipo são tipos numéricos, o método de implementação é null.

Tipo de nó e levantado versus não-levantado

Se o método de implementação não for null:

  • Se left.Type e right.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 e right.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 e right.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 módulo predefinido.

  • Se left.Type e right.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é o tipo anulável que corresponde ao tipo de resultado do operador de módulo predefinido.

Aplica-se a