Expression.Property Methode

Definition

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft darstellt.

Überlädt

Property(Expression, String, Expression[])

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

Property(Expression, PropertyInfo, Expression[])

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

Property(Expression, Type, String)

Erstellt eine MemberExpression, die auf eine Eigenschaft zugreift.

Property(Expression, PropertyInfo)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft darstellt.

Property(Expression, MethodInfo)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft durch das Verwenden einer Eigenschaftenzugriffsmethode darstellt.

Property(Expression, String)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft darstellt.

Property(Expression, String, Expression[])

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

public:
 static System::Linq::Expressions::IndexExpression ^ Property(System::Linq::Expressions::Expression ^ instance, System::String ^ propertyName, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, string propertyName, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, string propertyName, params System.Linq.Expressions.Expression[]? arguments);
static member Property : System.Linq.Expressions.Expression * string * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, propertyName As String, ParamArray arguments As Expression()) As IndexExpression

Parameter

instance
Expression

Das Objekt, zu dem die Eigenschaft gehört. Wenn die Eigenschaft statisch/freigegeben ist, muss sie NULL sein.

propertyName
String

Der Name des Indexers.

arguments
Expression[]

Ein Array von Expression-Objekten, die zum Indizieren der Eigenschaft verwendet werden.

Gibt zurück

IndexExpression

Der erstellte IndexExpression.

Gilt für

Property(Expression, PropertyInfo, Expression[])

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

public:
 static System::Linq::Expressions::IndexExpression ^ Property(System::Linq::Expressions::Expression ^ instance, System::Reflection::PropertyInfo ^ indexer, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, System.Reflection.PropertyInfo indexer, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression? instance, System.Reflection.PropertyInfo indexer, params System.Linq.Expressions.Expression[]? arguments);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, indexer As PropertyInfo, ParamArray arguments As Expression()) As IndexExpression

Parameter

instance
Expression

Das Objekt, zu dem die Eigenschaft gehört. Wenn die Eigenschaft statisch/freigegeben ist, muss sie NULL sein.

indexer
PropertyInfo

Das PropertyInfo, das die zu indizierende Eigenschaft darstellt.

arguments
Expression[]

Ein Array von Expression-Objekten, die zum Indizieren der Eigenschaft verwendet werden.

Gibt zurück

IndexExpression

Der erstellte IndexExpression.

Gilt für

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Erstellt eine IndexExpression, die den Zugriff auf eine indizierte Eigenschaft darstellt.

public:
 static System::Linq::Expressions::IndexExpression ^ Property(System::Linq::Expressions::Expression ^ instance, System::Reflection::PropertyInfo ^ indexer, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression instance, System.Reflection.PropertyInfo indexer, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.IndexExpression Property (System.Linq.Expressions.Expression? instance, System.Reflection.PropertyInfo indexer, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.IndexExpression
Public Shared Function Property (instance As Expression, indexer As PropertyInfo, arguments As IEnumerable(Of Expression)) As IndexExpression

Parameter

instance
Expression

Das Objekt, zu dem die Eigenschaft gehört. Wenn die Eigenschaft statisch/freigegeben ist, muss sie NULL sein.

indexer
PropertyInfo

Das PropertyInfo, das die zu indizierende Eigenschaft darstellt.

arguments
IEnumerable<Expression>

Ein IEnumerable<T> von Expression-Objekten, die zum Indizieren der Eigenschaft verwendet werden.

Gibt zurück

IndexExpression

Der erstellte IndexExpression.

Gilt für

Property(Expression, Type, String)

Erstellt eine MemberExpression, die auf eine Eigenschaft zugreift.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::String ^ propertyName);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, Type type, string propertyName);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, Type type, string propertyName);
static member Property : System.Linq.Expressions.Expression * Type * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, type As Type, propertyName As String) As MemberExpression

Parameter

expression
Expression

Das enthaltende Objekt der Eigenschaft. Dies kann für statische Eigenschaften NULL sein.

type
Type

Der Type, der die Eigenschaft enthält.

propertyName
String

Die Eigenschaft, auf die zugegriffen werden soll.

Gibt zurück

MemberExpression

Der erstellte MemberExpression.

Gilt für

Property(Expression, PropertyInfo)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft darstellt.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::Reflection::PropertyInfo ^ property);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.PropertyInfo property);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, System.Reflection.PropertyInfo property);
static member Property : System.Linq.Expressions.Expression * System.Reflection.PropertyInfo -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, property As PropertyInfo) As MemberExpression

Parameter

expression
Expression

Ein Expression, auf den die Expression-Eigenschaft festgelegt werden soll. Dies kann für statische Eigenschaften NULL sein.

property
PropertyInfo

Die PropertyInfo, auf das die Member-Eigenschaft festgelegt werden soll.

Gibt zurück

MemberExpression

Ein MemberExpression, bei dem die NodeType-Eigenschaft gleich MemberAccess ist und die Expression-Eigenschaft sowie die Member-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

property ist null.

- oder - Die durch property dargestellte Eigenschaft ist nicht static (Shared in Visual Basic), und expression ist null.

expression.Type kann nicht dem deklarierenden Typ des Felds zugeordnet werden, das durch property dargestellt wird.

Hinweise

Die Type Eigenschaft der resultierenden MemberExpression Eigenschaft entspricht der PropertyType Eigenschaft von Member.

Wenn die durch dargestellte Eigenschaft (Sharedin Visual Basic) dargestellt property wird static , expression kann es sich um nulleine .

Gilt für

Property(Expression, MethodInfo)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft durch das Verwenden einer Eigenschaftenzugriffsmethode darstellt.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ propertyAccessor);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo propertyAccessor);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression? expression, System.Reflection.MethodInfo propertyAccessor);
static member Property : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, propertyAccessor As MethodInfo) As MemberExpression

Parameter

expression
Expression

Ein Expression, auf den die Expression-Eigenschaft festgelegt werden soll. Dies kann für statische Eigenschaften NULL sein.

propertyAccessor
MethodInfo

Die MethodInfo, die eine Eigenschaftenzugriffsmethode darstellt.

Gibt zurück

MemberExpression

Eine MemberExpression, bei der die NodeType-Eigenschaft gleich MemberAccess ist, die Expression-Eigenschaft auf expression festgelegt ist und die Member-Eigenschaft auf die PropertyInfo festgelegt ist, die die Eigenschaft darstellt, auf die in propertyAccessor zugegriffen wird.

Ausnahmen

propertyAccessor ist null.

- oder - Die durch propertyAccessor dargestellte Methode ist nicht static (Shared in Visual Basic), und expression ist null.

expression.Type kann dem deklarierenden Typ der durch propertyAccessor dargestellten Methode nicht zugewiesen werden.

- oder - Die durch propertyAccessor dargestellte Methode ist keine Eigenschaftenaccessormethode.

Hinweise

Die Type Eigenschaft der resultierenden MemberExpression Eigenschaft entspricht der PropertyType Eigenschaft von Member.

Wenn die durch propertyAccessor dargestellte Methode (Sharedin Visual Basic) dargestellt wird static , expression kann es sich um nulleine .

Gilt für

Property(Expression, String)

Erstellt eine MemberExpression, die den Zugriff auf eine Eigenschaft darstellt.

public:
 static System::Linq::Expressions::MemberExpression ^ Property(System::Linq::Expressions::Expression ^ expression, System::String ^ propertyName);
public static System.Linq.Expressions.MemberExpression Property (System.Linq.Expressions.Expression expression, string propertyName);
static member Property : System.Linq.Expressions.Expression * string -> System.Linq.Expressions.MemberExpression
Public Shared Function Property (expression As Expression, propertyName As String) As MemberExpression

Parameter

expression
Expression

Eine Expression, deren Type eine Eigenschaft namens propertyName enthält. Dies kann für statische Eigenschaften null sein.

propertyName
String

Der Name der Eigenschaft, auf die zugegriffen werden soll.

Gibt zurück

MemberExpression

Eine MemberExpression, bei der die NodeType-Eigenschaft gleich MemberAccess ist, die Expression-Eigenschaft auf expression festgelegt ist und die Member-Eigenschaft auf die PropertyInfo festgelegt ist, die die durch propertyName angegebene Eigenschaft darstellt.

Ausnahmen

expression oder propertyName ist null.

In propertyName.Type oder den entsprechenden Basistypen ist keine Eigenschaft mit dem Namen expression definiert.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie einen Ausdruck erstellen, der den Zugriff auf eine Eigenschaft darstellt.

// Add the following directive to your file:
// using System.Linq.Expressions;

 class TestPropertyClass
 {
     public int sample {get; set;}
 }

 static void TestProperty()
 {
     TestPropertyClass obj = new TestPropertyClass();
     obj.sample = 40;

     // This expression represents accessing a property.
     // For static fields, the first parameter must be null.
     Expression propertyExpr = Expression.Property(
         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>>(propertyExpr).Compile()());
 }

 // This code example produces the following output:
 //
 // 40
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Class TestPropertyClass
    Public Property Sample As Integer
End Class

Sub TestProperty()

    Dim obj As New TestPropertyClass()
    obj.Sample = 40

    ' This expression represents accessing a property.
    ' For static properties, the first parameter must be Nothing.
    Dim propertyExpr As Expression = Expression.Property(
          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))(propertyExpr).Compile()())
End Sub

' This code example produces the following output:
'
' 40

Hinweise

Die Type Eigenschaft des resultierenden MemberExpression Objekts entspricht der PropertyType Eigenschaft PropertyInfo der Eigenschaft, die die eigenschaft darstellt, die von propertyName.

Diese Methode sucht expression. Geben Sie die Basistypen für eine Eigenschaft ein, die den Namen propertyNamehat. Öffentliche Eigenschaften werden für nicht öffentliche Eigenschaften bevorzugt. Wenn eine übereinstimmende Eigenschaft gefunden wird, übergibt expression diese Methode und die, die PropertyInfo diese Eigenschaft darstellt.Property

Gilt für