Expression.Property Méthode

Définition

Crée un MemberExpression qui représente l'accès à une propriété.Creates a MemberExpression that represents accessing a property.

Surcharges

Property(Expression, String, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

Property(Expression, PropertyInfo, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

Property(Expression, Type, String)

Crée un MemberExpression qui accède à une propriété.Creates a MemberExpression accessing a property.

Property(Expression, PropertyInfo)

Crée un MemberExpression qui représente l'accès à une propriété.Creates a MemberExpression that represents accessing a property.

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é.Creates a MemberExpression that represents accessing a property by using a property accessor method.

Property(Expression, String)

Crée un MemberExpression qui représente l'accès à une propriété.Creates a MemberExpression that represents accessing a property.

Property(Expression, String, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

public:
 static System::Linq::Expressions::IndexExpression ^ Property(System::Linq::Expressions::Expression ^ instance, System::String ^ propertyName, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, string propertyName, params System.Linq.Expressions.Expression[] arguments);
static member Property : System.Linq.Expressions.Expression * string * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, propertyName As String, ParamArray arguments As Expression()) As IndexExpression

Paramètres

instance
Expression

Objet auquel la propriété appartient.The object to which the property belongs. Si la propriété est statique/partagée, doit avoir la valeur Null.If the property is static/shared, it must be null.

propertyName
String

Nom de l'indexeur.The name of the indexer.

arguments
Expression[]

Tableau d'objets Expression utilisés pour indexer la propriété.An array of Expression objects that are used to index the property.

Retours

Élément IndexExpression créé.The created IndexExpression.

Property(Expression, PropertyInfo, Expression[])

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

public:
 static System::Linq::Expressions::IndexExpression ^ Property(System::Linq::Expressions::Expression ^ instance, System::Reflection::PropertyInfo ^ indexer, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, System.Reflection.PropertyInfo indexer, params System.Linq.Expressions.Expression[] arguments);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, indexer As PropertyInfo, ParamArray arguments As Expression()) As IndexExpression

Paramètres

instance
Expression

Objet auquel la propriété appartient.The object to which the property belongs. Si la propriété est statique/partagée, doit avoir la valeur Null.If the property is static/shared, it must be null.

indexer
PropertyInfo

PropertyInfo qui représente la propriété à indexer.The PropertyInfo that represents the property to index.

arguments
Expression[]

Tableau d'objets Expression utilisés pour indexer la propriété.An array of Expression objects that are used to index the property.

Retours

Élément IndexExpression créé.The created IndexExpression.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crée un IndexExpression qui représente l'accès à une propriété indexée.Creates an IndexExpression representing the access to an indexed property.

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);
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);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, indexer As PropertyInfo, arguments As IEnumerable(Of Expression)) As IndexExpression

Paramètres

instance
Expression

Objet auquel la propriété appartient.The object to which the property belongs. Si la propriété est statique/partagée, doit avoir la valeur Null.If the property is static/shared, it must be null.

indexer
PropertyInfo

PropertyInfo qui représente la propriété à indexer.The PropertyInfo that represents the property to index.

arguments
IEnumerable<Expression>

IEnumerable<T> d'objets Expression utilisés pour indexer la propriété.An IEnumerable<T> of Expression objects that are used to index the property.

Retours

Élément IndexExpression créé.The created IndexExpression.

Property(Expression, Type, String)

Crée un MemberExpression qui accède à une propriété.Creates a MemberExpression accessing a property.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::String ^ propertyName);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, Type type, string propertyName);
static member Property : System.Linq.Expressions.Expression * Type * string -> System.Linq.Expressions.MemberExpression

Paramètres

expression
Expression

Objet contenant la propriété.The containing object of the property. Cette valeur peut être null pour les propriétés statiques.This can be null for static properties.

type
Type

Objet Type qui contient la propriété.The Type that contains the property.

propertyName
String

Propriété à laquelle accéder.The property to be accessed.

Retours

Élément MemberExpression créé.The created MemberExpression.

Property(Expression, PropertyInfo)

Crée un MemberExpression qui représente l'accès à une propriété.Creates a MemberExpression that represents accessing a property.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::Reflection::PropertyInfo ^ property);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.PropertyInfo property);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo -> System.Linq.Expressions.MemberExpression

Paramètres

expression
Expression

Expression auquel la propriété Expression doit être égale.An Expression to set the Expression property equal to. Cette valeur peut être null pour les propriétés statiques.This can be null for static properties.

property
PropertyInfo

PropertyInfo auquel la propriété Member doit être égale.The PropertyInfo to set the Member property equal to.

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.A MemberExpression that has the NodeType property equal to MemberAccess and the Expression and Member properties set to the specified values.

Exceptions

property a la valeur null.property is null.

- ou --or- La propriété représentée par property n'est pas static (Shared en Visual Basic) et expression est null.The property that property represents is not static (Shared in Visual Basic) and expression is null.

expression.Type ne peut pas être assigné au type de déclaration de la propriété que property représente.expression.Type is not assignable to the declaring type of the property that property represents.

Remarques

La Type propriété du résultant MemberExpression est égale à la PropertyType propriété de Member.The Type property of the resulting MemberExpression is equal to the PropertyType property of Member.

Si la propriété représentée par property est static (Shared dans Visual Basic), expression peut être null.If the property represented by property is static (Shared in Visual Basic), expression can be null.

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é.Creates a MemberExpression that represents accessing a property by using a property accessor method.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ propertyAccessor);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo propertyAccessor);
static member Property : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.MemberExpression

Paramètres

expression
Expression

Expression auquel la propriété Expression doit être égale.An Expression to set the Expression property equal to. Cette valeur peut être null pour les propriétés statiques.This can be null for static properties.

propertyAccessor
MethodInfo

MethodInfo qui représente une méthode d'accesseur de propriété.The MethodInfo that represents a property accessor method.

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.A MemberExpression that has the NodeType property equal to MemberAccess, the Expression property set to expression and the Member property set to the PropertyInfo that represents the property accessed in propertyAccessor.

Exceptions

propertyAccessor a la valeur null.propertyAccessor is null.

- ou --or- La méthode représentée par propertyAccessor n'est pas static (Shared en Visual Basic) et expression est null.The method that propertyAccessor represents is not static (Shared in Visual Basic) and expression is null.

expression. Le type ne peut pas être affecté au type de la méthode représentée par propertyAccessor.expression.Type is not assignable to the declaring type of the method represented by propertyAccessor.

- ou --or- La méthode représentée par propertyAccessor n'est pas une méthode d'accesseur de propriété.The method that propertyAccessor represents is not a property accessor method.

Remarques

La Type propriété du résultant MemberExpression est égale à la PropertyType propriété de Member.The Type property of the resulting MemberExpression is equal to the PropertyType property of Member.

Si la méthode représentée par propertyAccessor est static (Shared dans Visual Basic), expression peut avoir nullla.If the method represented by propertyAccessor is static (Shared in Visual Basic), expression can be null.

Property(Expression, String)

Crée un MemberExpression qui représente l'accès à une propriété.Creates a MemberExpression that represents accessing a property.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::String ^ propertyName);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, string propertyName);
static member Property : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpression

Paramètres

expression
Expression

Expression dont Type contient une propriété nommée propertyName.An Expression whose Type contains a property named propertyName. Cette valeur peut être null pour les propriétés statiques.This can be null for static properties.

propertyName
String

Nom d'une propriété à laquelle accéder.The name of a property to be accessed.

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.A MemberExpression that has the NodeType property equal to MemberAccess, the Expression property set to expression, and the Member property set to the PropertyInfo that represents the property denoted by propertyName.

Exceptions

expression ou propertyName a la valeur null.expression or propertyName is null.

Aucune propriété nommée propertyName n'est définie dans expression.Type ou ses types de base.No property named propertyName is defined in expression.Type or its base types.

Exemples

L’exemple suivant montre comment créer une expression qui représente l’accès à une propriété.The following example shows how to create an expression that represents accessing a property.

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

' Add the following directive to your file:
' Imports System.Linq.Expressions  

Class TestPropertyClass
    Public Property Sample As Integer
End Class

Sub TestProperty()

    Dim obj As New TestPropertyClass()
    obj.Sample = 40

    ' This expression represents accessing a property.
    ' For static properties, the first parameter must be Nothing.
    Dim propertyExpr As Expression = 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(Of Func(Of Integer))(propertyExpr).Compile()())
End Sub

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

Remarques

La Type propriété du résultant MemberExpression est égale PropertyType propertyNameà la propriété du quireprésentelapropriétédénotéepar.PropertyInfoThe Type property of the resulting MemberExpression is equal to the PropertyType property of the PropertyInfo that represents the property denoted by propertyName.

Cette méthode recherche expression. Type et ses types de base pour une propriété qui porte le propertyNamenom.This method searches expression.Type and its base types for a property that has the name propertyName. Les propriétés publiques sont prioritaires par rapport aux propriétés non publiques.Public properties are given preference over non-public properties. Si une propriété correspondante est trouvée, cette méthode passe expression et le PropertyInfo qui représente cette propriété à Property.If a matching property is found, this method passes expression and the PropertyInfo that represents that property to Property.

S’applique à