Expression.Property Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
- 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 expression
a vlastnost nastavenou MemberPropertyInfo na vlastnost, která představuje vlastnost označenou propertyName
.
Výjimky
expression
nebo propertyName
je null
.
V expression
ná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.