Expression.And 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 BinaryExpression qui représente une opération au niveau AND du bit.
Surcharges
| Nom | Description |
|---|---|
| And(Expression, Expression) |
Crée un BinaryExpression qui représente une opération au niveau |
| And(Expression, Expression, MethodInfo) |
Crée un BinaryExpression qui représente une opération au niveau |
And(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crée un BinaryExpression qui représente une opération au niveau AND du bit.
public:
static System::Linq::Expressions::BinaryExpression ^ And(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression And(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member And : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function And (left As Expression, right As Expression) As BinaryExpression
Paramètres
- left
- Expression
A Expression pour définir la Left propriété égale à.
- right
- Expression
A Expression pour définir la Right propriété égale à.
Retours
Qui BinaryExpression a la NodeType propriété égale à And et les LeftRight propriétés définies sur les valeurs spécifiées.
Exceptions
left ou right est null.
L’opérateur au niveau AND du bit n’est pas défini pour left. Type et right. Type.
Exemples
L’exemple de code suivant montre comment créer une expression qui représente une opération AND logique sur deux valeurs booléennes.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression perfroms a logical AND operation
// on its two arguments. Both arguments must be of the same type,
// which can be boolean or integer.
Expression andExpr = Expression.And(
Expression.Constant(true),
Expression.Constant(false)
);
// Print out the expression.
Console.WriteLine(andExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(andExpr).Compile()());
// This code example produces the following output:
//
// (True And False)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression performs a logical AND operation
' on its two arguments. Both arguments must be of the same type,
' which can be Boolean or integer.
Dim andExpr As Expression = Expression.And(
Expression.Constant(True),
Expression.Constant(False)
)
' Print the expression.
Console.WriteLine(andExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda(Of Func(Of Boolean))(andExpr).Compile()())
' This code example produces the following output:
'
' (True And False)
' False
Remarques
La propriété obtenue BinaryExpression est Method 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. La Conversion propriété est null.
Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.
Implémentation de la méthode
Les règles suivantes déterminent la méthode d’implémentation de l’opération :
Si la propriété de l’un Type
leftourightl’autre représente un type défini par l’utilisateur qui surcharge l’opérateur au niveauANDdu bit, la MethodInfo méthode qui représente cette méthode est la méthode d’implémentation.Sinon, si
left. Type etright. Les types sont intégraux ou booléens, 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
left. Type etright. Le type est assignable aux types d’arguments correspondants 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 :
left.Type etright.Type sont tous deux des types valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d'argument correspondants 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:
Si
left.Type etright.Type sont tous les deux non-nullables, le nœud n’est pas soulevé. Le type du nœud est le type de résultat de l’opérateur au niveauANDdu bit prédéfini.Si
left.Type etright.Type autorisent tous deux la valeur NULL, le nœud est élevé. Le type du nœud est le type Nullable qui correspond au type de résultat de l’opérateur au niveauANDdu bit prédéfini.
S’applique à
And(Expression, Expression, MethodInfo)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crée un BinaryExpression qui représente une opération au niveau AND du bit. La méthode d’implémentation peut être spécifiée.
public:
static System::Linq::Expressions::BinaryExpression ^ And(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression And(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression And(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member And : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function And (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Paramètres
- left
- Expression
Pour Expression définir la Left propriété égale à.
- right
- Expression
Pour Expression définir la Right propriété égale à.
- method
- MethodInfo
A MethodInfo pour définir la Method propriété égale à.
Retours
Qui BinaryExpression a la NodeType propriété égale à And , et Method les LeftRightpropriétés définies sur les valeurs spécifiées.
Exceptions
left ou right est 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 deux arguments.
method est null et l’opérateur au niveau AND du bit n’est pas défini pour left. Type et right. Type.
Remarques
La propriété obtenue BinaryExpression est Method 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. La Conversion propriété est null.
Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.
Implémentation de la méthode
La méthode d’implémentation de l’opération est choisie en fonction des règles suivantes :
Si
methodce n’est pasnullle cas et qu’il représente une méthode non vide (staticShareden Visual Basic) qui accepte deux arguments, il s’agit de la méthode d’implémentation pour le nœud.Sinon, si la propriété de l’un Type ou
rightl’autreleftreprésente un type défini par l’utilisateur qui surcharge l’opérateur au niveauANDdu bit, la MethodInfo méthode qui représente cette méthode est la méthode d’implémentation.Sinon, si
left. Type etright. Les types sont intégraux ou booléens, 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
left. Type etright. Le type est assignable aux types d’arguments correspondants 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 :
left.Type etright.Type sont tous deux des types valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d'argument correspondants 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:
Si
left.Type etright.Type sont tous les deux non-nullables, le nœud n’est pas soulevé. Le type du nœud est le type de résultat de l’opérateur au niveauANDdu bit prédéfini.Si
left.Type etright.Type autorisent tous deux la valeur NULL, le nœud est élevé. Le type du nœud est le type Nullable qui correspond au type de résultat de l’opérateur au niveauANDdu bit prédéfini.