Condividi tramite


Expression.Field Metodo

Definizione

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

Overload

Nome Descrizione
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 in base al 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
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 Expression proprietà uguale. Per static (Shared in Visual Basic), expression deve essere null.

field
FieldInfo

Oggetto FieldInfo su cui impostare la Member proprietà su .

Restituisce

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

Eccezioni

field è null.

oppure

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

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

Commenti

La Type proprietà dell'oggetto risultante MemberExpression è uguale alla FieldType proprietà di field.

Si applica a

Field(Expression, String)

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

Crea un oggetto MemberExpression che rappresenta l'accesso a un campo in base al 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
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 il cui Type oggetto contiene un campo denominato fieldName. Può essere Null per i campi statici.

fieldName
String

Nome di un campo a cui accedere.

Restituisce

Oggetto MemberExpression con la NodeType proprietà uguale a MemberAccess, la Expression proprietà impostata su e la Member proprietà impostata expressionsu FieldInfo che rappresenta il campo indicato da fieldName.

Attributi

Eccezioni

expression o fieldName è null.

Nessun campo denominato fieldName è definito in expression. Digitare o i 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à dell'oggetto risultante MemberExpression è uguale alla FieldType proprietà dell'oggetto FieldInfo che rappresenta il campo indicato da fieldName.

Questo metodo esegue la ricerca in expression. Digitare e i relativi tipi di base per un campo con il nome fieldName. Ai campi pubblici viene assegnata la preferenza rispetto ai campi non pubblici. Se viene trovato un campo corrispondente, questo metodo passa expression e l'oggetto FieldInfo che rappresenta tale campo a Field.

Si applica a

Field(Expression, Type, String)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
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 a cui accedere.

Restituisce

Oggetto creato MemberExpression.

Si applica a