Expression.Property Método

Definição

Cria um MemberExpression que representa o acesso a uma propriedade.

Sobrecargas

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

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, Expression[])

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, Type, String)

Cria um MemberExpression acesso a uma propriedade.

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 de acesso à propriedade.

Property(Expression, String)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, String, Expression[])

Cria um IndexExpression que representa o 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);
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 a que pertence a propriedade. Se a propriedade for estática/partilhada, deve ser nula.

propertyName
String

O nome do indexador.

arguments
Expression[]

Um array de Expression objetos que são usados para indexar a propriedade.

Devoluções

O criou IndexExpression.

Aplica-se a

Property(Expression, PropertyInfo, Expression[])

Cria um IndexExpression que representa o 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);
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 a que pertence a propriedade. Se a propriedade for estática/partilhada, deve ser nula.

indexer
PropertyInfo

O PropertyInfo que representa a propriedade a indexar.

arguments
Expression[]

Um array de Expression objetos que são usados para indexar a propriedade.

Devoluções

O criou IndexExpression.

Aplica-se a

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Cria um IndexExpression que representa o 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);
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 a que pertence a propriedade. Se a propriedade for estática/partilhada, deve ser nula.

indexer
PropertyInfo

O PropertyInfo que representa a propriedade a indexar.

arguments
IEnumerable<Expression>

Um IEnumerable<T> dos Expression objetos que são usados para indexar a propriedade.

Devoluções

O criou IndexExpression.

Aplica-se a

Property(Expression, Type, String)

Cria um MemberExpression acesso a uma propriedade.

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

Parâmetros

expression
Expression

O objeto contendo da propriedade. Isto pode ser nulo para propriedades estáticas.

type
Type

O Type que contém a propriedade.

propertyName
String

A propriedade a ser acedida.

Devoluções

O criou MemberExpression.

Aplica-se a

Property(Expression, PropertyInfo)

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);
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

E Expression para definir a Expression propriedade igual a . Isto pode ser nulo para propriedades estáticas.

property
PropertyInfo

O PropertyInfo to define a Member propriedade igual a.

Devoluções

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

Exceções

property é null.

-ou-

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

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

Observações

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

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

Aplica-se a

Property(Expression, MethodInfo)

Cria um MemberExpression que representa o acesso a uma propriedade usando um método de acesso à 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);
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

E Expression para definir a Expression propriedade igual a . Isto pode ser nulo para propriedades estáticas.

propertyAccessor
MethodInfo

O MethodInfo que representa um método de acesso à propriedade.

Devoluções

A MemberExpression que tem a NodeType propriedade igual a MemberAccess, a Expression propriedade definida a expression e a Member propriedade definida a PropertyInfo , que representa a propriedade acedida em propertyAccessor.

Exceções

propertyAccessor é null.

-ou-

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

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

-ou-

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

Observações

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

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

Aplica-se a

Property(Expression, String)

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);
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

E Expression cujo Type contém uma propriedade chamada propertyName. Isto pode ser null para propriedades estáticas.

propertyName
String

O nome de uma propriedade a ser acedida.

Devoluções

A MemberExpression que tem a NodeType propriedade igual a MemberAccess, a Expression propriedade definida a expression, e a Member propriedade definida a PropertyInfo , que representa a propriedade denotada por propertyName.

Exceções

expression ou propertyName é null.

Nenhuma propriedade nomeada propertyName está definida em expression. Tipo ou os seus tipos base.

Exemplos

O exemplo seguinte mostra como criar uma expressão que represente 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

Observações

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

Este método pesquisa expression. Tipo e os seus tipos base para uma propriedade que tem o nome propertyName. As propriedades públicas têm preferência sobre as propriedades não públicas. Se for encontrada uma propriedade correspondente, este método passa expression e o PropertyInfo que representa essa propriedade para Property.

Aplica-se a