Expression.Multiply Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine BinaryExpression, die eine arithmetische Multiplikation ohne Überlaufprüfung darstellt.
Überlädt
Multiply(Expression, Expression, MethodInfo) |
Erstellt eine BinaryExpression, die eine arithmetische Multiplikation ohne Überlaufprüfung darstellt. |
Multiply(Expression, Expression) |
Erstellt eine BinaryExpression, die eine arithmetische Multiplikation ohne Überlaufprüfung darstellt. |
Multiply(Expression, Expression, MethodInfo)
Erstellt eine BinaryExpression, die eine arithmetische Multiplikation ohne Überlaufprüfung darstellt.
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
Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.
- right
- Expression
Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.
- method
- MethodInfo
Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich Multiply ist und die Eigenschaften Left, Right und Method auf die angegebenen Werte festgelegt sind.
Ausnahmen
left
oder right
ist null
.
method
ist nicht null
, und die dargestellte Methode gibt void
zurück, ist nicht static
(Shared
in Visual Basic) oder akzeptiert nicht genau zwei Argumente.
method
ist null
, und der Multiplikationsoperator ist für left
.Type und right
.Type nicht definiert.
Hinweise
Das ergebnis BinaryExpression hat die Eigenschaft auf die Method Implementierungsmethode festgelegt. Die Type Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten aufgehoben wird, sind die IsLifted IsLiftedToNull eigenschaften beide true
. Andernfalls sind false
sie . Die Conversion-Eigenschaft ist null
.
Die folgenden Informationen beschreiben die Implementierungsmethode, den Knotentyp und ob ein Knoten aufgehoben wird.
Implementierungsmethode
Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:
Wenn
method
nichtnull
und stellt eine nicht ungültige, (Shared
in Visual Basic) -Methode dar, die zwei Argumente verwendet,static
ist es die Implementierungsmethode für den Knoten.Andernfalls ist die Type Eigenschaft eines
left
right
oder eines benutzerdefinierten Typs dargestellt, der den Multiplikationsoperator überlastet, der MethodInfo diese Methode darstellt, die die Implementierungsmethode darstellt.Andernfalls, wenn
left
. Typ undright
. Typ sind numerische Typen, die Implementierungsmethode istnull
.
Knotentyp und Aufgehoben im Vergleich zu nicht aufgehobenen Knotentypen
Wenn die Implementierungsmethode nicht null
:
Wenn
left
. Typ undright
. Der Typ kann den entsprechenden Argumenttypen der Implementierungsmethode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der Implementierungsmethode.Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben und der Typ des Knotens ist der nullfähige Typ, der dem Rückgabetyp der Implementierungsmethode entspricht:
left
. Typ undright
. Der Typ ist beide Werttypen, von denen mindestens eine nullwertig ist, und die entsprechenden nicht nullablen Typen entsprechen den entsprechenden Argumenttypen der Implementierungsmethode.Der Rückgabetyp der Implementierungsmethode ist ein nicht nullabler Werttyp.
Wenn die Implementierungsmethode null
:
Wenn
left
. Typ undright
. Der Typ ist nicht nullierbar, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Multiplikationsoperators.Wenn
left
. Typ undright
. Der Typ ist beide nullwertig, der Knoten wird aufgehoben. Der Typ des Knotens ist der nullable Typ, der dem Ergebnistyp des vordefinierten Multiplikationsoperators entspricht.
Gilt für
Multiply(Expression, Expression)
Erstellt eine BinaryExpression, die eine arithmetische Multiplikation ohne Überlaufprüfung darstellt.
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
Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.
- right
- Expression
Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich Multiply ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
left
oder right
ist null
.
Der Multiplikationsoperator ist für left
.Type und right
.Type nicht definiert.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie Sie einen Ausdruck erstellen, der zwei Werte multipliziert.
// 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
Hinweise
Das ergebnis BinaryExpression hat die Eigenschaft auf die Method Implementierungsmethode festgelegt. Die Type Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten aufgehoben wird, sind die IsLifted IsLiftedToNull eigenschaften beide true
. Andernfalls sind false
sie . Die Conversion-Eigenschaft ist null
.
Die folgenden Informationen beschreiben die Implementierungsmethode, den Knotentyp und ob ein Knoten aufgehoben wird.
Implementierungsmethode
Die folgenden Regeln bestimmen die ausgewählte Implementierungsmethode für den Vorgang:
Wenn die Type Eigenschaft eines
left
right
oder eines benutzerdefinierten Typs darstellt, der den Multiplikationsoperator überlastet, MethodInfo ist diese Methode die Implementierungsmethode.Andernfalls, wenn
left
. Typ undright
. Typ sind numerische Typen, die Implementierungsmethode istnull
.
Knotentyp und Aufgehoben im Vergleich zu nicht aufgehobenen Knotentypen
Wenn die Implementierungsmethode nicht null
:
Wenn
left
. Typ undright
. Der Typ kann den entsprechenden Argumenttypen der Implementierungsmethode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der Implementierungsmethode.Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben und der Typ des Knotens ist der nullfähige Typ, der dem Rückgabetyp der Implementierungsmethode entspricht:
left
. Typ undright
. Der Typ ist beide Werttypen, von denen mindestens eine nullwertig ist, und die entsprechenden nicht nullablen Typen entsprechen den entsprechenden Argumenttypen der Implementierungsmethode.Der Rückgabetyp der Implementierungsmethode ist ein nicht nullabler Werttyp.
Wenn die Implementierungsmethode null
:
Wenn
left
. Typ undright
. Der Typ ist nicht nullierbar, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Multiplikationsoperators.Wenn
left
. Typ undright
. Der Typ ist beide nullwertig, der Knoten wird aufgehoben. Der Typ des Knotens ist der nullable Typ, der dem Ergebnistyp des vordefinierten Multiplikationsoperators entspricht.