Expression.Field 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 un campo.
Sobrecargas
Field(Expression, FieldInfo) |
Crea un objeto MemberExpression que representa el acceso a un campo. |
Field(Expression, String) |
Crea un objeto MemberExpression que representa el acceso a un campo, dado el nombre del campo. |
Field(Expression, Type, String) |
Crea un objeto MemberExpression que representa el acceso a un campo. |
Field(Expression, FieldInfo)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
Crea un objeto MemberExpression que representa el acceso a un campo.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, System::Reflection::FieldInfo ^ field);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, System.Reflection.FieldInfo field);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression? expression, System.Reflection.FieldInfo field);
static member Field : System.Linq.Expressions.Expression * System.Reflection.FieldInfo -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, field As FieldInfo) As MemberExpression
Parámetros
- expression
- Expression
Objeto Expression en el que se va a establecer la propiedad Expression. En modo static
(Shared
en Visual Basic), expression
debe ser null
.
Devoluciones
MemberExpression cuya propiedad NodeType es MemberAccess y cuyas propiedades Expression y Member se establecen en los valores especificados.
Excepciones
field
es null
.
o bien
El campo representado por field
no es static
(Shared
en Visual Basic) y expression
es null
.
expression
.Type no se puede asignar al tipo declarativo del campo representado por field
.
Comentarios
La Type propiedad del resultante MemberExpression es igual a la FieldType propiedad de field
.
Se aplica a
Field(Expression, String)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
Crea un objeto MemberExpression que representa el acceso a un campo, dado el nombre del campo.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, System::String ^ fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, string fieldName);
static member Field : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, fieldName As String) As MemberExpression
Parámetros
- expression
- Expression
Expression cuyo Type contiene un campo llamado fieldName
. Este puede ser null para los campos estáticos.
- fieldName
- String
Nombre de un campo al 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 el objeto FieldInfo que representa el campo denotado por fieldName
.
Excepciones
expression
o fieldName
es null
.
No se ha definido ningún campo denominado fieldName
en expression
.Type o sus tipos base.
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear una expresión que representa el acceso a un campo.
// Add the following directive to your file:
// using System.Linq.Expressions;
class TestFieldClass
{
int sample = 40;
}
static void TestField()
{
TestFieldClass obj = new TestFieldClass();
// This expression represents accessing a field.
// For static fields, the first parameter must be null.
Expression fieldExpr = Expression.Field(
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>>(fieldExpr).Compile()());
}
// This code example produces the following output:
//
// 40
' Add the following directive to your file:
' Imports System.Linq.Expressions
Class TestFieldClass
Dim sample As Integer = 40
End Class
Sub TestField()
Dim obj As New TestFieldClass()
' This expression represents accessing a field.
' For static fields, the first parameter must be Nothing.
Dim fieldExpr As Expression = Expression.Field(
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))(fieldExpr).Compile()())
End Sub
' This code example produces the following output:
'
' 40
Comentarios
La Type propiedad del resultante MemberExpression es igual a la FieldType propiedad de FieldInfo que representa el campo indicado por fieldName
.
Este método busca expression
en . Escriba y sus tipos base para un campo que tenga el nombre fieldName
. Los campos públicos tienen preferencia sobre los campos no públicos. Si se encuentra un campo coincidente, este método pasa expression
y el FieldInfo que representa ese campo a Field.
Se aplica a
Field(Expression, Type, String)
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
- Source:
- MemberExpression.cs
Crea un objeto MemberExpression que representa el acceso a un campo.
public:
static System::Linq::Expressions::MemberExpression ^ Field(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::String ^ fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression expression, Type type, string fieldName);
public static System.Linq.Expressions.MemberExpression Field (System.Linq.Expressions.Expression? expression, Type type, string fieldName);
static member Field : System.Linq.Expressions.Expression * Type * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Field (expression As Expression, type As Type, fieldName As String) As MemberExpression
Parámetros
- expression
- Expression
Objeto contenedor del campo. Este puede ser null para los campos estáticos.
- fieldName
- String
Campo al que se va a obtener acceso.
Devoluciones
Objeto MemberExpression creado.