Expression.Field Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
.
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.
- fieldName
- String
O campo a ser acessado.
Retornos
O MemberExpression criado.