Bagikan melalui


Expression.LeftShift Metode

Definisi

BinaryExpression Membuat yang mewakili operasi pergeseran kiri bit.

Overload

LeftShift(Expression, Expression)

BinaryExpression Membuat yang mewakili operasi pergeseran kiri bit.

LeftShift(Expression, Expression, MethodInfo)

BinaryExpression Membuat yang mewakili operasi pergeseran kiri bit.

LeftShift(Expression, Expression)

Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs

BinaryExpression Membuat yang mewakili operasi pergeseran kiri 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

Parameter

left
Expression

Untuk Expression mengatur properti yang Left sama dengan.

right
Expression

Untuk Expression mengatur properti yang Right sama dengan.

Mengembalikan

BinaryExpression yang memiliki NodeType properti yang sama dengan LeftShift dan Left properti dan Right diatur ke nilai yang ditentukan.

Pengecualian

left atau right adalah null.

Operator shift kiri tidak didefinisikan untuk left. Ketik dan right. Jenis.

Keterangan

Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false. Properti Conversion adalah null.

Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah simpul diangkat.

Metode Penerapan

Aturan berikut menentukan metode penerapan yang dipilih untuk operasi:

  • Type Jika properti dari salah satu left atau right mewakili jenis yang ditentukan pengguna yang membebani operator shift kiri, MethodInfo yang mewakili metode tersebut adalah metode penerapan.

  • Jika tidak, jika left. Jenis adalah jenis integral (salah satu dari Byte, , SByte, UInt16Int16, Int32, UInt32Int64, , UInt64, atau jenis nullable yang sesuai) dan right. Jenisnya adalah Int32, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika left. Ketik dan right. Jenis dapat ditetapkan ke jenis argumen yang sesuai dari metode penerapan, simpul tidak diangkat. Jenis node adalah jenis pengembalian dari metode penerapan.

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis node adalah jenis nullable yang sesuai dengan jenis pengembalian metode penerapan:

    • left. Ketik dan right. Jenis adalah kedua jenis nilai yang setidaknya satu dapat diubah ke null dan jenis yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen yang sesuai dari metode penerapan.

    • Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.

Jika metode penerapan adalah null:

  • Jika left. Ketik dan right. Jenis keduanya tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil operator shift kiri yang telah ditentukan sebelumnya.

  • Jika left. Ketik dan right. Jenis keduanya dapat diubah ke null, simpul diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator shift kiri yang telah ditentukan sebelumnya.

Berlaku untuk

LeftShift(Expression, Expression, MethodInfo)

Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs

BinaryExpression Membuat yang mewakili operasi pergeseran kiri 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

Parameter

left
Expression

Untuk Expression mengatur properti yang Left sama dengan.

right
Expression

Untuk Expression mengatur properti yang Right sama dengan.

method
MethodInfo

A MethodInfo untuk mengatur properti yang Method sama dengan.

Mengembalikan

BinaryExpression yang memiliki NodeType properti yang sama dengan LeftShift dan Leftproperti , , Rightdan Method diatur ke nilai yang ditentukan.

Pengecualian

left atau right adalah null.

method bukan null dan metode yang diwakilinya mengembalikan void, bukan static (Shared dalam Visual Basic), atau tidak mengambil dua argumen persis.

method adalah null dan operator shift kiri tidak didefinisikan untuk left. Ketik dan right. Jenis.

Keterangan

Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false. Properti Conversion adalah null.

Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah simpul diangkat.

Metode Penerapan

Aturan berikut menentukan metode penerapan yang dipilih untuk operasi:

  • Jika method tidak null dan mewakili metode non-void, static (Shared dalam Visual Basic) yang mengambil dua argumen, itu adalah metode penerapan untuk simpul.

  • Jika tidak, jika Type properti dari salah satu left atau right mewakili jenis yang ditentukan pengguna yang membebani operator shift kiri, MethodInfo yang mewakili metode tersebut adalah metode penerapan.

  • Jika tidak, jika left. Jenis adalah jenis integral (salah satu dari Byte, , SByte, UInt16Int16, Int32, UInt32Int64, , UInt64, atau jenis nullable yang sesuai) dan right. Jenisnya adalah Int32, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika left. Ketik dan right. Jenis dapat ditetapkan ke jenis argumen yang sesuai dari metode penerapan, simpul tidak diangkat. Jenis node adalah jenis pengembalian dari metode penerapan.

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis node adalah jenis nullable yang sesuai dengan jenis pengembalian metode penerapan:

    • left. Ketik dan right. Jenis adalah kedua jenis nilai yang setidaknya satu dapat diubah ke null dan jenis yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen yang sesuai dari metode penerapan.

    • Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.

Jika metode penerapan adalah null:

  • Jika left. Ketik dan right. Jenis keduanya tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil operator shift kiri yang telah ditentukan sebelumnya.

  • Jika left. Ketik dan right. Jenis keduanya dapat diubah ke null, simpul diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator shift kiri yang telah ditentukan sebelumnya.

Berlaku untuk