Compartilhar via


Expression.LeftShift Método

Definição

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

Sobrecargas

Nome Description
LeftShift(Expression, Expression)

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

LeftShift(Expression, Expression, MethodInfo)

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

LeftShift(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 deslocamento esquerdo bit a bit.

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

Exceções

left ou right é null.

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

  • Caso contrário, se left. O tipo é um tipo integral (um dos ByteUInt16Int16SByteUInt32Int64Int32UInt64tipos que permitem valor nulo correspondente) e .right Tipo éInt32, 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 predefinido de turno esquerdo.

  • 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 predefinido de deslocamento esquerdo.

Aplica-se a

LeftShift(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 deslocamento esquerdo bit a bit.

public:
 static System::Linq::Expressions::BinaryExpression ^ LeftShift(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression LeftShift(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression LeftShift(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member LeftShift : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function LeftShift (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 LeftShift 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 turno esquerdo 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 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 de turno esquerdo, o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left. O tipo é um tipo integral (um dos ByteUInt16Int16SByteUInt32Int64Int32UInt64tipos que permitem valor nulo correspondente) e .right Tipo éInt32, 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 predefinido de turno esquerdo.

  • 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 predefinido de deslocamento esquerdo.

Aplica-se a