Expression.UnaryPlus Méthode

Définition

Crée un UnaryExpression qui représente une opération plus unaire.

Surcharges

UnaryPlus(Expression, MethodInfo)

Crée un UnaryExpression qui représente une opération plus unaire.

UnaryPlus(Expression)

Crée un UnaryExpression qui représente une opération plus unaire.

UnaryPlus(Expression, MethodInfo)

Crée un UnaryExpression qui représente une opération plus unaire.

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

Paramètres

expression
Expression

Expression auquel la propriété Operand doit être égale.

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.

Retours

UnaryExpression

UnaryExpression dont la propriété NodeType est égale à UnaryPlus et dont les propriétés Operand et Method ont les valeurs spécifiées.

Exceptions

expression a la valeur null.

method n'est pas null et la méthode représentée retourne void, n'est pas static (Shared en Visual Basic) ou ne prend pas un argument exactement.

method est null et l'opérateur plus unaire n'est pas défini pour expression.Type.

  • ou - expression.Type (ou son type non Nullable correspondant s'il s'agit d'un type valeur Nullable) ne peut pas être assigné au type d'argument de la méthode représentée par method.

Remarques

La Method propriété du résultat UnaryExpression est définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, les propriétés et IsLiftedToNull les IsLifted propriétés sont les deux true. Sinon, ils sont faux.

Implémentation de la méthode

Les règles suivantes déterminent la méthode d’implémentation de l’opération :

  • Si method ce n’est pas le cas null et qu’il représente une méthode non vide ( static``Shared dans Visual Basic) qui accepte un argument, il s’agit de la méthode d’implémentation pour le nœud.

  • Si expression. Le type est un type défini par l’utilisateur qui définit l’opérateur unaire plus, qui MethodInfo représente cet opérateur est la méthode d’implémentation.

  • Sinon, si expression. Le type est un type numérique, la méthode d’implémentation est null.

Type de nœud et lifted et non lifted

Si la méthode d’implémentation n’est pas null:

  • Si expression. Le type est assignable au type d’argument de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé et le type du nœud est le type Nullable qui correspond au type de retour de la méthode d’implémentation :

    • expression. Le type est un type valeur nullable et le type valeur non Nullable correspondant est égal au type d’argument de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est un type valeur non Nullable.

Si la méthode d’implémentation est null, le type du nœud est expression. Type. Si expression. Le type n’est pas nullable, le nœud n’est pas levé. Sinon, le nœud est levé.

S’applique à

UnaryPlus(Expression)

Crée un UnaryExpression qui représente une opération plus unaire.

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

Paramètres

expression
Expression

Expression auquel la propriété Operand doit être égale.

Retours

UnaryExpression

UnaryExpression dont la propriété NodeType est égale à UnaryPlus et dont la propriété Operand a la valeur spécifiée.

Exceptions

expression a la valeur null.

L'opérateur plus unaire n'est pas défini pour expression.Type.

Remarques

La Method propriété du résultat UnaryExpression est définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, les propriétés et IsLiftedToNull les IsLifted propriétés sont les deux true. Sinon, ils sont faux.

Implémentation de la méthode

Les règles suivantes déterminent la méthode d’implémentation de l’opération :

  • Si expression. Le type est un type défini par l’utilisateur qui définit l’opérateur unaire plus, qui MethodInfo représente cet opérateur est la méthode d’implémentation.

  • Sinon, si expression. Le type est un type numérique, la méthode d’implémentation est null.

Type de nœud et lifted et non lifted

Si la méthode d’implémentation n’est pas null:

  • Si expression. Le type est assignable au type d’argument de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé et le type du nœud est le type Nullable qui correspond au type de retour de la méthode d’implémentation :

    • expression. Le type est un type valeur nullable et le type valeur non Nullable correspondant est égal au type d’argument de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est un type valeur non Nullable.

Si la méthode d’implémentation est null, le type du nœud est expression. Type. Si expression. Le type n’est pas nullable, le nœud n’est pas levé. Sinon, le nœud est levé.

S’applique à