Expression.Property Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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);
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. 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 à
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.
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 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 à
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.
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 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 à
Property(Expression, Type, String)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
Crée un MemberExpression qui accède à 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 contenant la propriété. Cette valeur peut être null pour les propriétés statiques.
- propertyName
- String
Propriété à laquelle accéder.
Retours
Élément MemberExpression créé.
S’applique à
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é.
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
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 à
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é.
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);
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
Public Shared Function Property (expression As Expression, propertyAccessor As MethodInfo) As MemberExpression
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 à
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é.
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
Public Shared Function Property (expression As Expression, propertyName As String) As MemberExpression
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é.
// 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 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.