Expression.Not Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un UnaryExpression élément qui représente une opération de complément au niveau du bit.
Surcharges
| Nom | Description |
|---|---|
| Not(Expression) |
Crée un UnaryExpression élément qui représente une opération de complément au niveau du bit. |
| Not(Expression, MethodInfo) |
Crée un UnaryExpression élément qui représente une opération de complément au niveau du bit. La méthode d’implémentation peut être spécifiée. |
Not(Expression)
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
Crée un UnaryExpression élément qui représente une opération de complément au niveau du bit.
public:
static System::Linq::Expressions::UnaryExpression ^ Not(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression);
static member Not : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Not (expression As Expression) As UnaryExpression
Paramètres
- expression
- Expression
Pour Expression définir la Operand propriété égale à.
Retours
Qui UnaryExpression a la NodeType propriété égale à Not et la Operand propriété définie sur la valeur spécifiée.
Exceptions
expression a la valeur null.
L’opérateur non unaire n’est pas défini pour expression. Type.
Exemples
L’exemple suivant montre comment créer une expression qui représente une opération NOT logique.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression represents a NOT operation.
Expression notExpr = Expression.Not(Expression.Constant(true));
Console.WriteLine(notExpr);
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<bool>>(notExpr).Compile()());
// This code example produces the following output:
//
// Not(True)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression represents a NOT operation.
Dim notExpr As Expression = Expression.Not(Expression.Constant(True))
Console.WriteLine(notExpr)
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(notExpr).Compile()())
' This code example produces the following output:
'
' Not(True)
' False
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 IsLifted et IsLiftedToNull sont toutes les deux true. Sinon, ils sont false.
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 non unaire, MethodInfo qui représente cet opérateur est la méthode d’implémentation.Sinon, si
expression. Le type est un type numérique ou booléen, la méthode d’implémentation estnull.
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 satisfaites, 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 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 à
Not(Expression, MethodInfo)
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
- Source:
- UnaryExpression.cs
Crée un UnaryExpression élément qui représente une opération de complément au niveau du bit. La méthode d’implémentation peut être spécifiée.
public:
static System::Linq::Expressions::UnaryExpression ^ Not(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member Not : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Not (expression As Expression, method As MethodInfo) As UnaryExpression
Paramètres
- expression
- Expression
Pour Expression définir la Operand propriété égale à.
- method
- MethodInfo
A MethodInfo pour définir la Method propriété égale à.
Retours
Qui UnaryExpression a la NodeType propriété égale à Not et les OperandMethod propriétés définies sur les valeurs spécifiées.
Exceptions
expression a la valeur null.
method n’est pas null et la méthode qu’elle représente renvoie void, n’est pas static (Shared en Visual Basic) ou ne prend pas exactement un argument.
method est null et l’opérateur non 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) n’est pas assignable 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 IsLifted et IsLiftedToNull sont toutes les deux true. Sinon, ils sont false.
Implémentation de la méthode
Les règles suivantes déterminent la méthode d’implémentation de l’opération :
Si
methodce n’est pasnullle cas et qu’elle représente une méthode non vide (staticShareden 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 non unaire, MethodInfo qui représente cet opérateur est la méthode d’implémentation.Sinon, si
expression. Type est un type numérique, la méthode d’implémentation estnull.
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 satisfaites, 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 de 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é.