Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Expression.Property, méthode (Expression, String)

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 la propriété désignée par propertyName.

ExceptionCondition
ArgumentNullException

expression ou propertyName a la valeur null.

ArgumentException

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

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

Cette méthode recherche une propriété nommée propertyName dans expression.Type et ses types de base. 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 le 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



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft