Sdílet prostřednictvím


Expression.Property Metoda

Definice

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti.

Přetížení

Property(Expression, String, Expression[])

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

Property(Expression, PropertyInfo, Expression[])

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

Property(Expression, Type, String)

MemberExpression Vytvoří přístup k vlastnosti.

Property(Expression, PropertyInfo)

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti.

Property(Expression, MethodInfo)

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti pomocí metody přistupující vlastnosti.

Property(Expression, String)

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti.

Property(Expression, String, Expression[])

Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

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

Parametry

instance
Expression

Objekt, ke kterému vlastnost patří. Pokud je vlastnost statická nebo sdílená, musí mít hodnotu null.

propertyName
String

Název indexeru.

arguments
Expression[]

Pole Expression objektů, které se používají k indexování vlastnosti.

Návraty

Vytvořený IndexExpressionobjekt

Platí pro

Property(Expression, PropertyInfo, Expression[])

Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

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

Parametry

instance
Expression

Objekt, ke kterému vlastnost patří. Pokud je vlastnost statická nebo sdílená, musí mít hodnotu null.

indexer
PropertyInfo

Hodnota PropertyInfo , která představuje vlastnost indexu.

arguments
Expression[]

Pole Expression objektů, které se používají k indexování vlastnosti.

Návraty

Vytvořený IndexExpressionobjekt

Platí pro

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs
Zdroj:
IndexExpression.cs

Vytvoří objekt IndexExpression představující přístup k indexované vlastnosti.

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

Parametry

instance
Expression

Objekt, ke kterému vlastnost patří. Pokud je vlastnost statická nebo sdílená, musí mít hodnotu null.

indexer
PropertyInfo

Hodnota PropertyInfo , která představuje vlastnost indexu.

arguments
IEnumerable<Expression>

Objekty IEnumerable<T>Expression , které se používají k indexování vlastnosti.

Návraty

Vytvořený IndexExpressionobjekt

Platí pro

Property(Expression, Type, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

MemberExpression Vytvoří přístup k vlastnosti.

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

Parametry

expression
Expression

Obsahující objekt vlastnosti. U statických vlastností může mít hodnotu null.

type
Type

Vlastnost Type obsahuje.

propertyName
String

Vlastnost, ke které se má přistupovat.

Návraty

Vytvořený MemberExpressionobjekt

Platí pro

Property(Expression, PropertyInfo)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti.

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

Parametry

expression
Expression

An Expression , která nastaví Expression vlastnost na hodnotu rovna. U statických vlastností může mít hodnotu null.

property
PropertyInfo

Vlastnost PropertyInfo se má nastavit Member na rovna.

Návraty

Vlastnost MemberExpression a, která má NodeType vlastnost rovna MemberAccess a Expression vlastnosti a Member nastavené na zadané hodnoty.

Výjimky

property je null.

-nebo-

Vlastnost, která property představuje, není static (Shared v jazyce Visual Basic) a expression je null.

expression. Typ není možné přiřadit k deklarující typ vlastnosti, která property představuje.

Poznámky

Vlastnost Type výsledného MemberExpression objektu se PropertyType rovná vlastnosti Member.

Pokud vlastnost reprezentovaná property je static (Shared v jazyce Visual Basic), expression může být null.

Platí pro

Property(Expression, MethodInfo)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti pomocí metody přistupující vlastnosti.

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

Parametry

expression
Expression

An Expression , která nastaví Expression vlastnost na hodnotu rovna. U statických vlastností může mít hodnotu null.

propertyAccessor
MethodInfo

Objekt MethodInfo , který představuje přistupnou metodu vlastnosti.

Návraty

AMemberExpression, která má NodeType vlastnost rovna MemberAccessExpression , vlastnost nastavena na expression a Member vlastnost nastavená PropertyInfo na vlastnost, která představuje vlastnost přístup v propertyAccessor.

Výjimky

propertyAccessor je null.

-nebo-

Metoda, která propertyAccessor představuje, není static (Shared v jazyce Visual Basic) a expression je null.

expression. Typ není možné přiřadit k deklarující typ metody reprezentované .propertyAccessor

-nebo-

Metoda, která propertyAccessor představuje, není přistupnou metodou vlastnosti.

Poznámky

Vlastnost Type výsledného MemberExpression objektu se PropertyType rovná vlastnosti Member.

Pokud je metoda reprezentovaná propertyAccessor je static (Shared v jazyce Visual Basic), expression může být null.

Platí pro

Property(Expression, String)

Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs
Zdroj:
MemberExpression.cs

Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti.

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

Parametry

expression
Expression

Objekt Expression , jehož Type obsahuje vlastnost s názvem propertyName. To může být null pro statické vlastnosti.

propertyName
String

Název vlastnosti, ke které se má přistupovat.

Návraty

AMemberExpression, který má NodeType vlastnost rovna MemberAccessExpression , vlastnost nastavená na expressiona vlastnost nastavenou MemberPropertyInfo na vlastnost, která představuje vlastnost označenou propertyName.

Výjimky

expression nebo propertyName je null.

V expressionnástroji není definována žádná vlastnost s názvem propertyName . Typ nebo jeho základní typy.

Příklady

Následující příklad ukazuje, jak vytvořit výraz, který představuje přístup k vlastnosti.

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

Poznámky

Vlastnost Type výsledného MemberExpression objektu je rovna PropertyTypePropertyInfo vlastnosti, která představuje vlastnost označenou .propertyName

Tato metoda prohledá expression. Typ a jeho základní typy pro vlastnost, která má název propertyName. Veřejné vlastnosti mají přednost před neveřejné vlastnosti. Pokud je nalezena odpovídající vlastnost, předá expression tato metoda a PropertyInfo vlastnost, která představuje tuto vlastnost do Property.

Platí pro