Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Expression.Property méthode (Expression, String)

 

Date de publication : novembre 2016

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

Espace de noms:   System.Linq.Expressions
Assembly:  System.Core (dans System.Core.dll)

public static MemberExpression Property(
	Expression expression,
	string propertyName
)

Paramètres

expression
Type: System.Linq.Expressions.Expression

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

propertyName
Type: System.String

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

Valeur de retour

Type: System.Linq.Expressions.MemberExpression

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.

Exception Condition
ArgumentNullException

expression ou propertyName a la valeur null.

ArgumentException

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

Le Type Propriétés des résultats de MemberExpressionest égale à la PropertyType propriété de la 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 sur les propriétés non publiques. Si une propriété correspondante est trouvée, cette méthode passe expression et PropertyInfo qui représente cette propriété à Property.

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

// 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

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: