Expression.Property Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
- 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.