Freigeben über


Expression.UnaryPlus Methode

Definition

Erstellt eine UnaryExpression, die eine unäre Plusoperation darstellt.

Überlädt

UnaryPlus(Expression, MethodInfo)

Erstellt eine UnaryExpression, die eine unäre Plusoperation darstellt.

UnaryPlus(Expression)

Erstellt eine UnaryExpression, die eine unäre Plusoperation darstellt.

UnaryPlus(Expression, MethodInfo)

Quelle:
UnaryExpression.cs
Quelle:
UnaryExpression.cs
Quelle:
UnaryExpression.cs

Erstellt eine UnaryExpression, die eine unäre Plusoperation darstellt.

public:
 static System::Linq::Expressions::UnaryExpression ^ UnaryPlus(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member UnaryPlus : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function UnaryPlus (expression As Expression, method As MethodInfo) As UnaryExpression

Parameter

expression
Expression

Ein Expression, auf den die Operand-Eigenschaft festgelegt werden soll.

method
MethodInfo

Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

Gibt zurück

Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich UnaryPlus ist und die Operand-Eigenschaft sowie die Method-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

expression ist null.

method ist nicht null, und die dadurch dargestellte Methode gibt void zurück, ist nicht static (Shared in Visual Basic) oder akzeptiert nicht genau ein Argument.

method ist null, und der unäre Plus-Operator ist für expression.Type nicht definiert.

- oder -

expression.Type (oder, sofern der Typ NULL-Werte zulässt, der entsprechende Typ, der keine NULL-Werte zulässt) kann nicht dem Argumenttyp der durch method dargestellten Methode zugeordnet werden.

Hinweise

Die Method -Eigenschaft des resultierenden UnaryExpression wird auf die implementierende Methode festgelegt. Die Type -Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten angehoben wird, sind die IsLifted Eigenschaften und IsLiftedToNull beide true. Andernfalls sind sie false.

Implementieren der Methode

Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:

  • Wenn method nicht null ist und eine nicht leere Methode (Shared in Visual Basic) darstellt, static die ein Argument akzeptiert, ist dies die implementierende Methode für den Knoten.

  • Wenn expression. Type ist ein benutzerdefinierter Typ, der den unären Plusoperator definiert. Der Operator, der MethodInfo diesen Operator darstellt, ist die implementierende Methode.

  • Andernfalls, wenn expression. Type ist ein numerischer Typ, die implementierenden Methode ist null.

Knotentyp und "Lifted" im Vergleich zu "Non-Lifted"

Wenn die implementierenden Methode nicht nulllautet:

  • Wenn expression. Der Typ kann dem Argumenttyp der implementierenden Methode zugewiesen werden, der Knoten wird nicht angehoben. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten angehoben, und der Typ des Knotens ist der Nullable-Typ, der dem Rückgabetyp der implementierenden Methode entspricht:

    • expression. Type ist ein Nullable-Werttyp, und der entsprechende Nicht-Nullable-Werttyp ist gleich dem Argumenttyp der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist ein Werttyp, der nicht nullable ist.

Wenn die implementierenden Methode ist, ist nullexpressionder Typ des Knotens . Typ. Wenn expression. Der Typ kann nicht null sein, der Knoten wird nicht angehoben. Andernfalls wird der Knoten angehoben.

Gilt für:

UnaryPlus(Expression)

Quelle:
UnaryExpression.cs
Quelle:
UnaryExpression.cs
Quelle:
UnaryExpression.cs

Erstellt eine UnaryExpression, die eine unäre Plusoperation darstellt.

public:
 static System::Linq::Expressions::UnaryExpression ^ UnaryPlus(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression UnaryPlus (System.Linq.Expressions.Expression expression);
static member UnaryPlus : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function UnaryPlus (expression As Expression) As UnaryExpression

Parameter

expression
Expression

Ein Expression, auf den die Operand-Eigenschaft festgelegt werden soll.

Gibt zurück

Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich UnaryPlus und die Operand-Eigenschaft auf den angegebenen Wert festgelegt ist.

Ausnahmen

expression ist null.

Der unäre Plus-Operator ist für expression.Type nicht definiert.

Hinweise

Die Method -Eigenschaft des resultierenden UnaryExpression wird auf die implementierende Methode festgelegt. Die Type -Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten angehoben wird, sind die IsLifted Eigenschaften und IsLiftedToNull beide true. Andernfalls sind sie false.

Implementieren der Methode

Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:

  • Wenn expression. Type ist ein benutzerdefinierter Typ, der den unären Plusoperator definiert. Der Operator, der MethodInfo diesen Operator darstellt, ist die implementierende Methode.

  • Andernfalls, wenn expression. Type ist ein numerischer Typ, die implementierenden Methode ist null.

Knotentyp und "Lifted" im Vergleich zu "Non-Lifted"

Wenn die implementierenden Methode nicht nulllautet:

  • Wenn expression. Der Typ kann dem Argumenttyp der implementierenden Methode zugewiesen werden, der Knoten wird nicht angehoben. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten angehoben, und der Typ des Knotens ist der Nullable-Typ, der dem Rückgabetyp der implementierenden Methode entspricht:

    • expression. Type ist ein Nullable-Werttyp, und der entsprechende Nicht-Nullable-Werttyp ist gleich dem Argumenttyp der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist ein Werttyp, der nicht nullable ist.

Wenn die implementierenden Methode ist, ist nullexpressionder Typ des Knotens . Typ. Wenn expression. Der Typ kann nicht null sein, der Knoten wird nicht angehoben. Andernfalls wird der Knoten angehoben.

Gilt für: