Compartilhar via


Expression.Property Método

Definição

Cria um MemberExpression que representa o acesso a uma propriedade.

Sobrecargas

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

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, Expression[])

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, Type, String)

Cria uma MemberExpression propriedade de acesso.

Property(Expression, PropertyInfo)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, MethodInfo)

Cria um MemberExpression que representa o acesso a uma propriedade usando um método acessador de propriedade.

Property(Expression, String)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, String, Expression[])

Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

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

Parâmetros

instance
Expression

O objeto ao qual a propriedade pertence. Se a propriedade for estática/compartilhada, ela deverá ser nula.

propertyName
String

O nome do indexador.

arguments
Expression[]

Uma matriz de Expression objetos que são usados para indexar a propriedade.

Retornos

O .IndexExpression

Atributos

Aplica-se a

Property(Expression, PropertyInfo, Expression[])

Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

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

Parâmetros

instance
Expression

O objeto ao qual a propriedade pertence. Se a propriedade for estática/compartilhada, ela deverá ser nula.

indexer
PropertyInfo

O PropertyInfo que representa a propriedade para indexar.

arguments
Expression[]

Uma matriz de Expression objetos que são usados para indexar a propriedade.

Retornos

O .IndexExpression

Aplica-se a

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs
Origem:
IndexExpression.cs

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

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

Parâmetros

instance
Expression

O objeto ao qual a propriedade pertence. Se a propriedade for estática/compartilhada, ela deverá ser nula.

indexer
PropertyInfo

O PropertyInfo que representa a propriedade para indexar.

arguments
IEnumerable<Expression>

Um IEnumerable<T> dos Expression objetos usados para indexar a propriedade.

Retornos

O .IndexExpression

Aplica-se a

Property(Expression, Type, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria uma MemberExpression propriedade de acesso.

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

Parâmetros

expression
Expression

O objeto que contém a propriedade. Isso pode ser nulo para propriedades estáticas.

type
Type

O Type que contém a propriedade.

propertyName
String

A propriedade a ser acessada.

Retornos

O .MemberExpression

Aplica-se a

Property(Expression, PropertyInfo)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a uma propriedade.

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

Parâmetros

expression
Expression

Um Expression para definir a Expression propriedade igual a. Isso pode ser nulo para propriedades estáticas.

property
PropertyInfo

A PropertyInfo propriedade para a qual definir a Member propriedade é igual.

Retornos

Um MemberExpression que tem a NodeType propriedade igual a MemberAccess e as Expression propriedades e Member definidas para os valores especificados.

Exceções

property é null.

- ou -

A propriedade que property representa não static é (Shared no Visual Basic) e expression é null.

expression. O tipo não é atribuível ao tipo de declaração da propriedade que property representa.

Comentários

A Type propriedade do resultado MemberExpression é igual à PropertyType propriedade de Member.

Se a propriedade representada por property é static (Shared no Visual Basic), expression pode ser null.

Aplica-se a

Property(Expression, MethodInfo)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a uma propriedade usando um método acessador de propriedade.

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

Parâmetros

expression
Expression

Um Expression para definir a Expression propriedade igual a. Isso pode ser nulo para propriedades estáticas.

propertyAccessor
MethodInfo

O MethodInfo que representa um método acessador de propriedade.

Retornos

Um MemberExpression que tem a NodeType propriedade igual a MemberAccess, a Expression propriedade definida expression como e a Member propriedade definida como a PropertyInfo que representa a propriedade acessada em propertyAccessor.

Atributos

Exceções

propertyAccessor é null.

- ou -

O método que propertyAccessor representa não static é (Shared no Visual Basic) e expression é null.

expression. O tipo não é atribuível ao tipo de declaração do método representado por propertyAccessor.

- ou -

O método que propertyAccessor representa não é um método acessador de propriedade.

Comentários

A Type propriedade do resultado MemberExpression é igual à PropertyType propriedade de Member.

Se o método representado por propertyAccessor é static (Shared no Visual Basic), expression pode ser null.

Aplica-se a

Property(Expression, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a uma propriedade.

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

Parâmetros

expression
Expression

Um Expression cuja Type propriedade contém um nome propertyName. Isso pode ser null para propriedades estáticas.

propertyName
String

O nome de uma propriedade a ser acessada.

Retornos

Um MemberExpression que tem a NodeType propriedade igual a MemberAccess, a Expression propriedade definida como expression, e a Member propriedade definida como a PropertyInfo que representa a propriedade indicada por propertyName.

Atributos

Exceções

expression ou propertyName é null.

Nenhuma propriedade nomeada propertyName é definida em expression. Digite ou seus tipos base.

Exemplos

O exemplo a seguir mostra como criar uma expressão que representa o acesso a uma propriedade.

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

Comentários

A Type propriedade do resultado MemberExpression é igual à PropertyType propriedade do PropertyInfo que representa a propriedade indicada por propertyName.

Esse método pesquisa expression. Digite e seus tipos base para uma propriedade que tem o nome propertyName. As propriedades públicas recebem preferência sobre propriedades não públicas. Se uma propriedade correspondente for encontrada, esse método passará expression e o PropertyInfo que representa essa propriedade para Property.

Aplica-se a