Bagikan melalui


Expression.Multiply Metode

Definisi

BinaryExpression Membuat yang mewakili operasi perkalian aritmatika yang tidak memiliki pemeriksaan luapan.

Overload

Nama Deskripsi
Multiply(Expression, Expression, MethodInfo)

BinaryExpression Membuat yang mewakili operasi perkalian aritmatika yang tidak memiliki pemeriksaan luapan.

Multiply(Expression, Expression)

BinaryExpression Membuat yang mewakili operasi perkalian aritmatika yang tidak memiliki pemeriksaan luapan.

Multiply(Expression, Expression, MethodInfo)

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

BinaryExpression Membuat yang mewakili operasi perkalian aritmatika yang tidak memiliki pemeriksaan luapan.

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

Parameter

left
Expression

Untuk Expression mengatur properti sama Left dengan.

right
Expression

Untuk Expression mengatur properti sama Right dengan.

method
MethodInfo

A MethodInfo untuk mengatur Method properti sama dengan.

Mengembalikan

BinaryExpression yang memiliki NodeType properti yang sama dengan Multiply 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 di Visual Basic), atau tidak mengambil dua argumen persis.

method adalah null dan operator perkalian 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 node diangkat, properti IsLifted dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false. Properti Conversion adalah null.

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

Metode Penerapan

Aturan berikut menentukan metode penerapan 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 perkalian, MethodInfo yang mewakili metode tersebut adalah metode penerapan.

  • Jika tidak, jika left.Type dan right.Type adalah tipe numerik, metode pelaksanaannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

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

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:

    • left.Tipe dan right.Tipe keduanya adalah tipe nilai yang setidaknya satu bersifat nullable dan tipe non-nullable yang sesuai sama dengan tipe argumen yang sesuai dari metode yang diimplementasikan.

    • Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.

Jika metode penerapan adalah null:

  • Jika left.Tipe dan right.Tipe keduanya tidak dapat bernilai null, node tidak diangkat. Jenis simpul adalah jenis hasil operator perkalian yang telah ditentukan sebelumnya.

  • Jika left.Tipe dan right.Tipe keduanya bisa bernilai null, simpul diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator perkalian yang telah ditentukan sebelumnya.

Berlaku untuk

Multiply(Expression, Expression)

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

BinaryExpression Membuat yang mewakili operasi perkalian aritmatika yang tidak memiliki pemeriksaan luapan.

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

Parameter

left
Expression

Untuk Expression mengatur properti sama Left dengan.

right
Expression

Untuk Expression mengatur properti sama Right dengan.

Mengembalikan

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

Pengecualian

left atau right adalah null.

Operator perkalian tidak didefinisikan untuk left. Ketik dan right. Jenis.

Contoh

Contoh kode berikut menunjukkan cara membuat ekspresi yang mengalikan dua nilai.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression multiplies its two arguments.
// Both arguments must be of the same type.
Expression multiplyExpr = Expression.Multiply(
    Expression.Constant(10),
    Expression.Constant(4)
);

// Print out the expression.
Console.WriteLine(multiplyExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
    Expression.Lambda<Func<int>>(multiplyExpr).Compile()());

// This code example produces the following output:
//
// (10*4)
// 40
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' This expression multiplies its two arguments.
' Both arguments must be of the same type.
Dim multiplyExpr As Expression = Expression.Multiply(
    Expression.Constant(10),
    Expression.Constant(4)
)

' Print the expression.
Console.WriteLine(multiplyExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(
    Expression.Lambda(Of Func(Of Integer))(multiplyExpr).Compile()())

' This code example produces the following output:
'
' (10*4)
' 40

Keterangan

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

Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah node 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 perkalian, yang mewakili metode tersebut MethodInfo adalah metode penerapan.

  • Jika tidak, jika left.Type dan right.Type adalah tipe numerik, metode pelaksanaannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

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

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:

    • left.Tipe dan right.Tipe keduanya adalah tipe nilai yang setidaknya satu bersifat nullable dan tipe non-nullable yang sesuai sama dengan tipe argumen yang sesuai dari metode yang diimplementasikan.

    • Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.

Jika metode penerapan adalah null:

  • Jika left.Tipe dan right.Tipe keduanya tidak dapat bernilai null, node tidak diangkat. Jenis simpul adalah jenis hasil operator perkalian yang telah ditentukan sebelumnya.

  • Jika left.Tipe dan right.Tipe keduanya bisa bernilai null, simpul diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator perkalian yang telah ditentukan sebelumnya.

Berlaku untuk