Expression.Property Méthode

Définition

Crée un MemberExpression qui représente l'accès à une propriété.

Surcharges

Property(Expression, String, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.

Property(Expression, PropertyInfo, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crée un IndexExpression qui représente l'accès à une propriété indexée.

Property(Expression, Type, String)

Crée un MemberExpression qui accède à une propriété.

Property(Expression, PropertyInfo)

Crée un MemberExpression qui représente l'accès à une propriété.

Property(Expression, MethodInfo)

Crée un MemberExpression qui représente l'accès à une propriété à l'aide d'une méthode d'accesseur de propriété.

Property(Expression, String)

Crée un MemberExpression qui représente l'accès à une propriété.

Property(Expression, String, Expression[])

Source:
IndexExpression.cs
Source:
IndexExpression.cs
Source:
IndexExpression.cs

Crée un IndexExpression qui représente l'accès à une propriété indexée.

C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, string propertyName, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, string propertyName, params System.Linq.Expressions.Expression[]? arguments);

Paramètres

instance
Expression

Objet auquel la propriété appartient. Si la propriété est statique/partagée, doit avoir la valeur Null.

propertyName
String

Nom de l'indexeur.

arguments
Expression[]

Tableau d'objets Expression utilisés pour indexer la propriété.

Retours

Élément IndexExpression créé.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, PropertyInfo, Expression[])

Source:
IndexExpression.cs
Source:
IndexExpression.cs
Source:
IndexExpression.cs

Crée un IndexExpression qui représente l'accès à une propriété indexée.

C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, System.Reflection.PropertyInfo indexer, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression? instance, System.Reflection.PropertyInfo indexer, params System.Linq.Expressions.Expression[]? arguments);

Paramètres

instance
Expression

Objet auquel la propriété appartient. Si la propriété est statique/partagée, doit avoir la valeur Null.

indexer
PropertyInfo

PropertyInfo qui représente la propriété à indexer.

arguments
Expression[]

Tableau d'objets Expression utilisés pour indexer la propriété.

Retours

Élément IndexExpression créé.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Source:
IndexExpression.cs
Source:
IndexExpression.cs
Source:
IndexExpression.cs

Crée un IndexExpression qui représente l'accès à une propriété indexée.

C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, System.Reflection.PropertyInfo indexer, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
C#
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression? instance, System.Reflection.PropertyInfo indexer, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);

Paramètres

instance
Expression

Objet auquel la propriété appartient. Si la propriété est statique/partagée, doit avoir la valeur Null.

indexer
PropertyInfo

PropertyInfo qui représente la propriété à indexer.

arguments
IEnumerable<Expression>

IEnumerable<T> d'objets Expression utilisés pour indexer la propriété.

Retours

Élément IndexExpression créé.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, Type, String)

Source:
MemberExpression.cs
Source:
MemberExpression.cs
Source:
MemberExpression.cs

Crée un MemberExpression qui accède à une propriété.

C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, Type type, string propertyName);
C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, Type type, string propertyName);

Paramètres

expression
Expression

Objet contenant la propriété. Cette valeur peut être null pour les propriétés statiques.

type
Type

Objet Type qui contient la propriété.

propertyName
String

Propriété à laquelle accéder.

Retours

Élément MemberExpression créé.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, PropertyInfo)

Source:
MemberExpression.cs
Source:
MemberExpression.cs
Source:
MemberExpression.cs

Crée un MemberExpression qui représente l'accès à une propriété.

C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.PropertyInfo property);
C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, System.Reflection.PropertyInfo property);

Paramètres

expression
Expression

Expression auquel la propriété Expression doit être égale. Cette valeur peut être null pour les propriétés statiques.

property
PropertyInfo

PropertyInfo auquel la propriété Member doit être égale.

Retours

MemberExpression dont la propriété NodeType est égale à MemberAccess et dont les propriétés Expression et Member ont les valeurs spécifiées.

Exceptions

property a la valeur null.

- ou -

La propriété représentée par property n'est pas static (Shared en Visual Basic) et expression est null.

expression.Type ne peut pas être assigné au type de déclaration de la propriété que property représente.

Remarques

La Type propriété du résultat MemberExpression est égale à la PropertyType propriété de Member.

Si la propriété représentée par property est static (Shared en Visual Basic), expression peut être null.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, MethodInfo)

Source:
MemberExpression.cs
Source:
MemberExpression.cs
Source:
MemberExpression.cs

Crée un MemberExpression qui représente l'accès à une propriété à l'aide d'une méthode d'accesseur de propriété.

C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo propertyAccessor);
C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, System.Reflection.MethodInfo propertyAccessor);

Paramètres

expression
Expression

Expression auquel la propriété Expression doit être égale. Cette valeur peut être null pour les propriétés statiques.

propertyAccessor
MethodInfo

MethodInfo qui représente une méthode d'accesseur de propriété.

Retours

MemberExpression dont la propriété NodeType est égale à MemberAccess, la propriété Expression a pour valeur expression et la propriété Member a pour valeur le PropertyInfo qui représente la propriété accessible dans propertyAccessor.

Exceptions

propertyAccessor a la valeur null.

- ou -

La méthode représentée par propertyAccessor n'est pas static (Shared en Visual Basic) et expression est null.

expression. Le type ne peut pas être affecté au type de la méthode représentée par propertyAccessor.

- ou -

La méthode représentée par propertyAccessor n'est pas une méthode d'accesseur de propriété.

Remarques

La Type propriété du résultat MemberExpression est égale à la PropertyType propriété de Member.

Si la méthode représentée par propertyAccessor est static (Shared en Visual Basic), expression peut être null.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Property(Expression, String)

Source:
MemberExpression.cs
Source:
MemberExpression.cs
Source:
MemberExpression.cs

Crée un MemberExpression qui représente l'accès à une propriété.

C#
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, string propertyName);

Paramètres

expression
Expression

Expression dont Type contient une propriété nommée propertyName. Cette valeur peut être null pour les propriétés statiques.

propertyName
String

Nom d'une propriété à laquelle accéder.

Retours

MemberExpression dont la propriété NodeType est égale à MemberAccess, dont la propriété Expression a pour valeur expression et dont la propriété Member a pour valeur le PropertyInfo qui représente le champ désigné par propertyName.

Exceptions

expression ou propertyName est null.

Aucune propriété nommée propertyName n'est définie dans expression.Type ou ses types de base.

Exemples

L’exemple suivant montre comment créer une expression qui représente l’accès à une propriété.

C#
// Add the following directive to your file:
// using System.Linq.Expressions;

 class TestPropertyClass
 {
     public int sample {get; set;}
 }

 static void TestProperty()
 {
     TestPropertyClass obj = new TestPropertyClass();
     obj.sample = 40;

     // This expression represents accessing a property.
     // For static fields, the first parameter must be null.
     Expression propertyExpr = Expression.Property(
         Expression.Constant(obj),
         "sample"
     );

     // The following statement first creates an expression tree,
     // then compiles it, and then runs it.
     Console.WriteLine(Expression.Lambda<Func<int>>(propertyExpr).Compile()());
 }

 // This code example produces the following output:
 //
 // 40

Remarques

La Type propriété du résultat MemberExpression est égale à la PropertyType propriété de PropertyInfo qui représente la propriété désignée par propertyName.

Cette méthode recherche expression. Type et ses types de base pour une propriété qui porte le nom propertyName. Les propriétés publiques sont prioritaires par rapport aux propriétés non publiques. Si une propriété correspondante est trouvée, cette méthode passe expression et le PropertyInfo qui représente cette propriété à Property.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0