Expression.Modulo Método

Definição

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

Sobrecargas

Modulo(Expression, Expression)

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

Modulo(Expression, Expression, MethodInfo)

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

Modulo(Expression, Expression)

Cria um BinaryExpression que representa uma operação 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 propriedade Left igual a ele.

right
Expression

Um Expression para definir a propriedade Right igual a ele.

Retornos

BinaryExpression

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

Exceções

left ou right é null.

O operador modulus não está definido para left.Type e right.Type.

Comentários

O resultado 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 propriedades e IsLiftedToNull as IsLifted propriedades serão ambas true. Caso contrário, eles sã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 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 versão com comparação de precisão x sem comparação de precisão

Se o método de implementação não nullfor:

  • Se left. Tipo e right. 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 anulável que corresponde ao tipo de retorno do método de implementação:

    • left. Tipo e right. Os tipos de valor são ambos os 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. Tipo e right. Os tipos são não anuláveis, o nó não é levantado. O tipo do nó é o tipo de resultado do operador módulo predefinido.

  • Se left. Tipo e right. Os tipos são anuláveis, o nó é levantado. 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)

Cria um BinaryExpression que representa uma operação 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 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

BinaryExpression

Um BinaryExpression que tem a propriedade NodeType igual a Modulo 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 operador de módulo não foi definido para left.Type e right.Type.

Comentários

O resultado 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 propriedades e IsLiftedToNull as IsLifted propriedades serão ambas 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

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

  • Se method não null for e representar um método não nulo, static (Shared em 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 módulo, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left. Digite e right. 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 nullfor:

  • Se left. Digite e right. 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 anulável que corresponde ao tipo de retorno do método de implementação:

    • left. Digite e right. Os tipos de valor são ambos os 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 e right. Os tipos são não anuláveis, o nó não é levantado. O tipo do nó é o tipo de resultado do operador de módulo predefinido.

  • Se left. Digite e right. O tipo é nulo, o nó é levantado. O tipo do nó é o tipo anulável que corresponde ao tipo de resultado do operador de módulo predefinido.

Aplica-se a