Compartir a través de


Expression.Field Método

Definición

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.

field
FieldInfo

Objeto FieldInfo 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

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 expressionen . 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.

type
Type

Propiedad Type que contiene el campo.

fieldName
String

Campo al que se va a obtener acceso.

Devoluciones

Objeto MemberExpression creado.

Se aplica a