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í
| Name | Description |
|---|---|
| Property(Expression, String, Expression[]) |
Vytvoří reprezentaci IndexExpression přístupu k indexované vlastnosti. |
| Property(Expression, PropertyInfo, Expression[]) |
Vytvoří reprezentaci IndexExpression přístupu k indexované vlastnosti. |
| Property(Expression, PropertyInfo, IEnumerable<Expression>) |
Vytvoří reprezentaci IndexExpression přístupu k indexované vlastnosti. |
| Property(Expression, Type, String) |
Vytvoří MemberExpression přístup k vlastnosti. |
| Property(Expression, PropertyInfo) |
Vytvoří objekt MemberExpression , který představuje přístup k vlastnosti. |
| Property(Expression, MethodInfo) |
MemberExpression Vytvoří objekt, který představuje přístup k vlastnosti pomocí metody objektu property. |
| 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
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
Vytvoří reprezentaci IndexExpression přístupu 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);
[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.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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
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, do kterého 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
IndexExpressionVytvořeno .
- Atributy
Platí pro
Property(Expression, PropertyInfo, Expression[])
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
Vytvoří reprezentaci IndexExpression přístupu 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, do kterého vlastnost patří. Pokud je vlastnost statická nebo sdílená, musí mít hodnotu null.
- indexer
- PropertyInfo
Představuje PropertyInfo vlastnost indexu.
- arguments
- Expression[]
Pole Expression objektů, které se používají k indexování vlastnosti.
Návraty
IndexExpressionVytvořeno .
Platí pro
Property(Expression, PropertyInfo, IEnumerable<Expression>)
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
- Zdroj:
- IndexExpression.cs
Vytvoří reprezentaci IndexExpression přístupu 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, do kterého vlastnost patří. Pokud je vlastnost statická nebo sdílená, musí mít hodnotu null.
- indexer
- PropertyInfo
Představuje PropertyInfo vlastnost indexu.
- arguments
- IEnumerable<Expression>
Expression ObjektyIEnumerable<T>, které se používají k indexování vlastnosti.
Návraty
IndexExpressionVytvořeno .
Platí pro
Property(Expression, Type, String)
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
Vytvoří MemberExpression 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. To může mít hodnotu null pro statické vlastnosti.
- propertyName
- String
Vlastnost, ke které se má přistupovat.
Návraty
MemberExpressionVytvořeno .
Platí pro
Property(Expression, PropertyInfo)
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
- 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
Expression Nastavení Expression vlastnosti rovno. To může mít hodnotu null pro statické vlastnosti.
- property
- PropertyInfo
Chcete-li PropertyInfo nastavit Member vlastnost rovná se.
Návraty
AMemberExpression, který má vlastnost rovna MemberAccessNodeType a Expression a Member vlastnosti nastaveny 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 nelze přiřadit deklarující typ vlastnosti, která property představuje.
Poznámky
Vlastnost Type výsledného MemberExpression je rovna PropertyType vlastnosti Member.
Pokud je vlastnost reprezentována staticproperty (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
- Zdroj:
- MemberExpression.cs
- Zdroj:
- MemberExpression.cs
MemberExpression Vytvoří objekt, který představuje přístup k vlastnosti pomocí metody objektu property.
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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
Expression Nastavení Expression vlastnosti rovno. To může mít hodnotu null pro statické vlastnosti.
- propertyAccessor
- MethodInfo
Jedná se MethodInfo o metodu přístupového objektu vlastnosti.
Návraty
AMemberExpression, který má vlastnost rovna MemberAccessNodeType , Expression vlastnost nastavena expression a Member vlastnost nastavena naPropertyInfo, která představuje vlastnost přístup v propertyAccessor.
- Atributy
Výjimky
propertyAccessor je null.
nebo
Metoda, která propertyAccessor představuje není static (Shared v jazyce Visual Basic) a expression je null.
expression. Typ nelze přiřadit deklarující typ metody reprezentované propertyAccessor.
nebo
Metoda, která propertyAccessor představuje není metodou přístupového objektu vlastnosti.
Poznámky
Vlastnost Type výsledného MemberExpression je rovna PropertyType vlastnosti Member.
Pokud je metoda reprezentovaná staticpropertyAccessor (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
- 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);
[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 Property(System.Linq.Expressions.Expression expression, string propertyName);
static member Property : 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 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
Type Jehož Expression obsahuje vlastnost s názvem propertyName. Může se jednat null o statické vlastnosti.
- propertyName
- String
Název vlastnosti, ke které se má přistupovat.
Návraty
AMemberExpression, který má vlastnost rovna MemberAccessNodeType , Expression vlastnost nastavena expressionna a Member vlastnost nastavena naPropertyInfo, která představuje vlastnost označena propertyName.
- Atributy
Výjimky
expression nebo propertyName je null.
Není definována žádná vlastnost s názvem propertyName . expression 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é MemberExpression je rovna PropertyType vlastnosti PropertyInfo , která představuje vlastnost označena propertyName.
Tato metoda hledá expression. Typ a jeho základní typy pro vlastnost, která má název propertyName. Veřejné vlastnosti mají přednost před neveřejnou vlastností. Pokud je nalezena odpovídající vlastnost, tato metoda předá expression a PropertyInfo která představuje tuto vlastnost do Property.