Partilhar via


Expression.Field Método

Definição

Cria um MemberExpression que representa o acesso a um campo.

Sobrecargas

Field(Expression, FieldInfo)

Cria um MemberExpression que representa o acesso a um campo.

Field(Expression, String)

Cria um MemberExpression que representa o acesso a um campo dado o nome do campo.

Field(Expression, Type, String)

Cria um MemberExpression que representa o acesso a um campo.

Field(Expression, FieldInfo)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um 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

Um Expression para definir a propriedade Expression igual a ele. Para static (Shared no Visual Basic), expression deve ser null.

field
FieldInfo

O FieldInfo com um valor igual ao qual a Member propriedade será definida.

Retornos

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

Exceções

field é null.

- ou -

O campo representado por field não é static (Shared no Visual Basic) e expression é null.

expression.Type não pode ser atribuído ao tipo declarativo do campo representado por field.

Comentários

A Type propriedade do resultante MemberExpression é igual à FieldType propriedade de field.

Aplica-se a

Field(Expression, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um campo dado o nome do 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

Um Expression cujo Type contém um campo chamado fieldName. Pode ser nulo para campos estáticos.

fieldName
String

O nome de um campo a ser acessado.

Retornos

Um MemberExpression que tem a propriedade NodeType igual a MemberAccess, a propriedade Expression definida como expression e a propriedade Member definida como o FieldInfo que representa o campo indicado por fieldName.

Exceções

expression ou fieldName é null.

Nenhum campo nomeado fieldName é definido no tipo expression ou em seus tipos base.

Exemplos

O exemplo de código a seguir mostra como criar uma expressão que representa o acesso a um 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

Comentários

A Type propriedade do resultante MemberExpression é igual à FieldType propriedade do FieldInfo que representa o campo indicado por fieldName.

Esse método pesquisa expression. Digite e seus tipos base para um campo que tem o nome fieldName. Os campos públicos recebem preferência sobre campos não públicos. Se um campo correspondente for encontrado, esse método passará expression e o FieldInfo que representa esse campo para Field.

Aplica-se a

Field(Expression, Type, String)

Origem:
MemberExpression.cs
Origem:
MemberExpression.cs
Origem:
MemberExpression.cs

Cria um MemberExpression que representa o acesso a um 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

O objeto recipiente do campo. Pode ser nulo para campos estáticos.

type
Type

O Type que contém o campo.

fieldName
String

O campo a ser acessado.

Retornos

O MemberExpression criado.

Aplica-se a