Expression.Property Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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
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
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.
- propertyName
- String
A propriedade a ser acessada.
Retornos
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.