Comparteix a través de


Expression.Property Método

Definición

Crea un objeto MemberExpression que representa el acceso a una propiedad.

Sobrecargas

Property(Expression, String, Expression[])

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

Property(Expression, PropertyInfo, Expression[])

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

Property(Expression, Type, String)

Crea un objeto MemberExpression que obtiene acceso a una propiedad.

Property(Expression, PropertyInfo)

Crea un objeto MemberExpression que representa el acceso a una propiedad.

Property(Expression, MethodInfo)

Crea un objeto MemberExpression que representa el acceso a una propiedad mediante un método de descriptor de acceso de propiedad.

Property(Expression, String)

Crea un objeto MemberExpression que representa el acceso a una propiedad.

Property(Expression, String, Expression[])

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

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

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

Parámetros

instance
Expression

Objeto al que pertenece la propiedad. Si la propiedad es estática o compartida, deberá ser null.

propertyName
String

El nombre del indizador.

arguments
Expression[]

Matriz de objetos Expression que se emplean para indizar la propiedad.

Devoluciones

Objeto IndexExpression creado.

Se aplica a

Property(Expression, PropertyInfo, Expression[])

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

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

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

Objeto al que pertenece la propiedad. Si la propiedad es estática o compartida, deberá ser null.

indexer
PropertyInfo

PropertyInfo que representa la propiedad que se va a indexar.

arguments
Expression[]

Matriz de objetos Expression que se emplean para indizar la propiedad.

Devoluciones

Objeto IndexExpression creado.

Se aplica a

Property(Expression, PropertyInfo, IEnumerable<Expression>)

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

Crea un objeto IndexExpression que representa el acceso a una propiedad indizada.

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

Objeto al que pertenece la propiedad. Si la propiedad es estática o compartida, deberá ser null.

indexer
PropertyInfo

PropertyInfo que representa la propiedad que se va a indexar.

arguments
IEnumerable<Expression>

IEnumerable<T> de objetos Expression que se usan para indexar la propiedad.

Devoluciones

Objeto IndexExpression creado.

Se aplica a

Property(Expression, Type, String)

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

Crea un objeto MemberExpression que obtiene acceso a una propiedad.

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

Objeto contenedor de la propiedad. Puede ser null para las propiedades estáticas.

type
Type

Type que contiene la propiedad.

propertyName
String

Propiedad a la que se va a obtener acceso.

Devoluciones

Objeto MemberExpression creado.

Se aplica a

Property(Expression, PropertyInfo)

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

Crea un objeto MemberExpression que representa el acceso a una propiedad.

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

Objeto Expression en el que se va a establecer la propiedad Expression. Puede ser null para las propiedades estáticas.

property
PropertyInfo

Objeto PropertyInfo en el que se va a establecer la propiedad Member.

Devoluciones

MemberExpression cuya propiedad NodeType es MemberAccess y cuyas propiedades Expression y Member se establecen en los valores especificados.

Excepciones

property es null.

o bien

La propiedad que property representa no es static (Shared en Visual Basic) y el valor de expression es null.

expression.Type no se puede asignar al tipo declarativo de la propiedad que property representa.

Comentarios

La Type propiedad del resultado MemberExpression es igual a la PropertyType propiedad de Member.

Si la propiedad representada por property es static (Shared en Visual Basic), expression puede ser null.

Se aplica a

Property(Expression, MethodInfo)

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

Crea un objeto MemberExpression que representa el acceso a una propiedad mediante un método de descriptor de acceso de propiedad.

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

Parámetros

expression
Expression

Objeto Expression en el que se va a establecer la propiedad Expression. Puede ser null para las propiedades estáticas.

propertyAccessor
MethodInfo

Objeto MethodInfo que representa un método de descriptor de acceso de propiedad.

Devoluciones

MemberExpression cuya propiedad NodeType es MemberAccess, cuya propiedad Expression se establece en expression y cuya propiedad Member se establece en el objeto PropertyInfo que representa la propiedad a la que se obtiene acceso en propertyAccessor.

Excepciones

propertyAccessor es null.

o bien

El método que propertyAccessor representa no es static (Shared en Visual Basic) y el valor de expression es null.

expression.Type no se puede asignar al tipo declarativo del método representado por propertyAccessor.

o bien

El método que propertyAccessor representa no es un método de descriptor de acceso de propiedad.

Comentarios

La Type propiedad del resultado MemberExpression es igual a la PropertyType propiedad de Member.

Si el método representado por propertyAccessor es static (Shared en Visual Basic), expression puede ser null.

Se aplica a

Property(Expression, String)

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

Crea un objeto MemberExpression que representa el acceso a una propiedad.

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

Expression cuya propiedad Type contiene una propiedad denominada propertyName. Puede ser null para las propiedades estáticas.

propertyName
String

Nombre de una propiedad a la que se va a obtener acceso.

Devoluciones

MemberExpression cuya propiedad NodeType es MemberAccess, cuya propiedad Expression se establece en expression y cuya propiedad Member se establece en PropertyInfo que representa la propiedad denotada por propertyName.

Excepciones

expression o propertyName es null.

No se ha definido ninguna propiedad denominada propertyName en expression.Type o sus tipos base.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una expresión que representa el acceso a una propiedad .

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

Comentarios

La Type propiedad del resultado MemberExpression es igual a la PropertyType propiedad de que PropertyInfo representa la propiedad indicada por propertyName.

Este método busca en expression. Escriba y sus tipos base para una propiedad que tenga el nombre propertyName. A las propiedades públicas se les da preferencia sobre las propiedades que no son públicas. Si se encuentra una propiedad coincidente, este método pasa expression y el PropertyInfo que representa esa propiedad a Property.

Se aplica a