Partage via


Expression.Property Méthode

Définition

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

Surcharges

Nom Description
Property(Expression, String, Expression[])

Crée un IndexExpression représentant l’accès à une propriété indexée.

Property(Expression, PropertyInfo, Expression[])

Crée un IndexExpression représentant l’accès à une propriété indexée.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crée un IndexExpression représentant l’accès à une propriété indexée.

Property(Expression, Type, String)

Crée un MemberExpression accès à 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
Source:
IndexExpression.cs
Source:
IndexExpression.cs

Crée un IndexExpression représentant l’accès à une propriété indexée.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.IndexExpression Property(System.Linq.Expressions.Expression instance, string propertyName, params 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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
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 appartient la propriété. Si la propriété est statique/partagée, elle doit être null.

propertyName
String

Nom de l’indexeur.

arguments
Expression[]

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

Retours

Le fichier créé IndexExpression.

Attributs

S’applique à

Property(Expression, PropertyInfo, Expression[])

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

Crée un IndexExpression représentant l’accès à une propriété indexée.

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);
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 appartient la propriété. Si la propriété est statique/partagée, elle doit être null.

indexer
PropertyInfo

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

arguments
Expression[]

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

Retours

Le fichier créé IndexExpression.

S’applique à

Property(Expression, PropertyInfo, IEnumerable<Expression>)

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

Crée un IndexExpression représentant l’accès à une propriété indexée.

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);
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 appartient la propriété. Si la propriété est statique/partagée, elle doit être null.

indexer
PropertyInfo

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

arguments
IEnumerable<Expression>

Objets IEnumerable<T>Expression utilisés pour indexer la propriété.

Retours

Le fichier créé IndexExpression.

S’applique à

Property(Expression, Type, String)

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

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

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);
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
Public Shared Function Property (expression As Expression, type As Type, propertyName As String) As MemberExpression

Paramètres

expression
Expression

Objet conteneur de la propriété. Il peut s’agir de null pour les propriétés statiques.

type
Type

Qui Type contient la propriété.

propertyName
String

Propriété à accéder.

Retours

Le fichier créé MemberExpression.

S’applique à

Property(Expression, PropertyInfo)

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

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

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);
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
Public Shared Function Property (expression As Expression, property As PropertyInfo) As MemberExpression

Paramètres

expression
Expression

Pour Expression définir la Expression propriété égale à. Il peut s’agir de null pour les propriétés statiques.

property
PropertyInfo

Pour PropertyInfo définir la Member propriété égale à.

Retours

Qui MemberExpression a la NodeType propriété égale à MemberAccess et les ExpressionMember propriétés définies sur les valeurs spécifiées.

Exceptions

property a la valeur null.

- ou -

La propriété qui property représente n’est pas static (Shared en Visual Basic) et expression est null.

expression. Le type n’est pas assignable au type déclarant de la propriété qui 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 à

Property(Expression, MethodInfo)

Source:
MemberExpression.cs
Source:
MemberExpression.cs
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é.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
static member Property : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, propertyAccessor As MethodInfo) As MemberExpression

Paramètres

expression
Expression

Pour Expression définir la Expression propriété égale à. Il peut s’agir de null pour les propriétés statiques.

propertyAccessor
MethodInfo

Qui MethodInfo représente une méthode d’accesseur de propriété.

Retours

Qui MemberExpression a la NodeType propriété égale à MemberAccess, la Expression propriété définie expression sur et la Member propriété définie sur celle PropertyInfo qui représente la propriété accessible dans propertyAccessor.

Attributs

Exceptions

propertyAccessor a la valeur null.

- ou -

La méthode qui propertyAccessor représente n’est pas static (Shared en Visual Basic) et expression est null.

expression. Le type n’est pas assignable au type déclarant de la méthode représentée par propertyAccessor.

- ou -

La méthode qui propertyAccessor représente 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 à

Property(Expression, String)

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

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

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member Property : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, propertyName As String) As MemberExpression

Paramètres

expression
Expression

Dont Expression la Type propriété contient une propriété nommée propertyName. Cela peut être null destiné aux propriétés statiques.

propertyName
String

Nom d’une propriété à accéder.

Retours

Qui MemberExpression a la NodeType propriété égale à MemberAccess, la Expression propriété définie expressionsur , et la Member propriété définie sur celle PropertyInfo qui représente la propriété indiquée par propertyName.

Attributs

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é.

// 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ésultat MemberExpression est égale à la PropertyType propriété de la PropertyInfo propriété qui représente la propriété indiquée par propertyName.

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

S’applique à