Expression.RightShift Método

Definição

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

Sobrecargas

RightShift(Expression, Expression)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

RightShift(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

RightShift(Expression, Expression)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

public:
 static System::Linq::Expressions::BinaryExpression ^ RightShift(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression RightShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member RightShift : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function RightShift (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 RightShift e as propriedades Left e Right definidas com os valores especificados.

Exceções

left ou right é null.

O operador de deslocamento à direita 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 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 de turno direito, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left. O tipo é um tipo integral (um de Byte, SByte, Int16, UInt16, Int32, , UInt32, Int64, , UInt64ou os tipos anuláveis correspondentes) e right. Tipo é Int32, 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 de turno direito 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 turno direito predefinido.

Aplica-se a

RightShift(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

public:
 static System::Linq::Expressions::BinaryExpression ^ RightShift(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression RightShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression RightShift (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member RightShift : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function RightShift (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 RightShift 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 deslocamento à direita 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

As seguintes regras determinam o método de implementação selecionado para a operação:

  • 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 de turno direito, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left. O tipo é um tipo integral (um de, , , , , Int32, UInt32, , Int64, , UInt64ou os tipos anuláveis correspondentes) e right. UInt16Int16SByteByte O tipo éInt32, 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 predefinido para a direita.

  • 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 turno direito predefinido.

Aplica-se a