Condividi tramite


Expression.Field Metodo

Definizione

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo.

Overload

Field(Expression, FieldInfo)

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo.

Field(Expression, String)

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo, dato il nome del campo.

Field(Expression, Type, String)

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo.

Field(Expression, FieldInfo)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso 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

Parametri

expression
Expression

Oggetto Expression su cui impostare la proprietà Expression. Per static (Shared in Visual Basic), expression deve essere null.

field
FieldInfo

Oggetto FieldInfo su cui impostare la proprietà Member.

Restituisce

Oggetto MemberExpression la cui proprietà NodeType è uguale a MemberAccess e le cui proprietà Expression e Member sono impostate sui valori specificati.

Eccezioni

field è null.

-oppure-

Il campo rappresentato da field non è static (Shared in Visual Basic) e expression è null.

expression.Type non è assegnabile al tipo dichiarante del campo rappresentato da field.

Commenti

La Type proprietà del risultato MemberExpression è uguale alla FieldType proprietà di field.

Si applica a

Field(Expression, String)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo, dato il nome 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

Parametri

expression
Expression

Oggetto Expression la cui proprietà Type contiene un campo denominato fieldName. Può essere Null per i campi statici.

fieldName
String

Nome di un campo a cui accedere.

Restituisce

Oggetto MemberExpression la cui proprietà NodeType è uguale a MemberAccess, la cui proprietà Expression è impostata su expression e la cui proprietà Member è impostata sull'oggetto FieldInfo che rappresenta il campo identificato da fieldName.

Eccezioni

expression o fieldName è null.

Nessun campo denominato fieldName è definito in expression.Type o nei relativi tipi di base.

Esempio

Nell'esempio di codice seguente viene illustrato come creare un'espressione che rappresenta l'accesso 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

Commenti

La Type proprietà del risultato MemberExpression è uguale alla FieldType proprietà dell'oggetto FieldInfo che rappresenta il campo denotato da fieldName.

Questo metodo cerca expression. Digitare e i relativi tipi di base per un campo con il nome fieldName. I campi pubblici hanno la preferenza sui campi non pubblici. Se viene trovato un campo corrispondente, questo metodo passa expression e l'oggetto che rappresenta tale FieldInfo campo su Field.

Si applica a

Field(Expression, Type, String)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso 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

Parametri

expression
Expression

Oggetto contenitore del campo. Può essere Null per i campi statici.

type
Type

Oggetto Type che contiene il campo.

fieldName
String

Campo al quale accedere.

Restituisce

Oggetto MemberExpression creato.

Si applica a