Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.Field-Methode: (Expression, String)

 

Veröffentlicht: Oktober 2016

Erstellt eine MemberExpression, die bei einem gegebenen Feldnamen den Zugriff auf ein Feld darstellt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static MemberExpression Field(
	Expression expression,
	string fieldName
)

Parameter

expression
Type: System.Linq.Expressions.Expression

Eine Expression, deren Type ein Feld namens fieldName enthält. Dies kann für statische Felder NULL sein.

fieldName
Type: System.String

Der Name des Felds, auf das zugegriffen werden soll.

Rückgabewert

Type: System.Linq.Expressions.MemberExpression

Eine MemberExpression, bei der die NodeType-Eigenschaft gleich MemberAccess ist, die Expression-Eigenschaft auf expression festgelegt ist und die Member-Eigenschaft auf die FieldInfo festgelegt ist, die das durch fieldName angegebene Feld darstellt.

Exception Condition
ArgumentNullException

expression oder fieldName ist null.

ArgumentException

Kein Feld mit dem Namen fieldName wird definiert, expression. Typ oder dessen Basistypen.

Die Type -Eigenschaft der resultierenden MemberExpression gleich der FieldType Eigenschaft der FieldInfo die durch angegebene Feld darstellt fieldName.

Diese Methode sucht expression. Typ und dessen Basistypen für ein Feld mit dem Namen fieldName. Öffentliche Felder sind über nicht öffentliche Felder Priorität. Wenn ein übereinstimmendes Feld gefunden wird, übergibt diese Methode expression und FieldInfo das darstellt, dass dieses Feld Field.

Im folgenden Codebeispiel wird veranschaulicht, wie einen Ausdruck erstellt, der Zugriff auf ein Feld darstellt.

// 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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: