Expression.Property Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en MemberExpression som representerar åtkomst till en egenskap.
Överlagringar
| Name | Description |
|---|---|
| Property(Expression, String, Expression[]) |
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap. |
| Property(Expression, PropertyInfo, Expression[]) |
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap. |
| Property(Expression, PropertyInfo, IEnumerable<Expression>) |
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap. |
| Property(Expression, Type, String) |
Skapar en MemberExpression åtkomst till en egenskap. |
| Property(Expression, PropertyInfo) |
Skapar en MemberExpression som representerar åtkomst till en egenskap. |
| Property(Expression, MethodInfo) |
Skapar en MemberExpression som representerar åtkomst till en egenskap med hjälp av en egenskapsåtkomstmetod. |
| Property(Expression, String) |
Skapar en MemberExpression som representerar åtkomst till en egenskap. |
Property(Expression, String, Expression[])
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap.
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
Parametrar
- instance
- Expression
Det objekt som egenskapen tillhör. Om egenskapen är statisk/delad måste den vara null.
- propertyName
- String
Namnet på indexeraren.
- arguments
- Expression[]
En matris med Expression objekt som används för att indexering av egenskapen.
Returer
Den skapade IndexExpression.
- Attribut
Gäller för
Property(Expression, PropertyInfo, Expression[])
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap.
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
Parametrar
- instance
- Expression
Det objekt som egenskapen tillhör. Om egenskapen är statisk/delad måste den vara null.
- indexer
- PropertyInfo
Det PropertyInfo som representerar den egenskap som ska indexeras.
- arguments
- Expression[]
En matris med Expression objekt som används för att indexering av egenskapen.
Returer
Den skapade IndexExpression.
Gäller för
Property(Expression, PropertyInfo, IEnumerable<Expression>)
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
- Källa:
- IndexExpression.cs
Skapar en IndexExpression som representerar åtkomsten till en indexerad egenskap.
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
Parametrar
- instance
- Expression
Det objekt som egenskapen tillhör. Om egenskapen är statisk/delad måste den vara null.
- indexer
- PropertyInfo
Det PropertyInfo som representerar den egenskap som ska indexeras.
- arguments
- IEnumerable<Expression>
En IEnumerable<T> av Expression objekt som används för att indexering av egenskapen.
Returer
Den skapade IndexExpression.
Gäller för
Property(Expression, Type, String)
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
Skapar en MemberExpression åtkomst till en egenskap.
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
Parametrar
- expression
- Expression
Egenskapens innehållande objekt. Detta kan vara null för statiska egenskaper.
- propertyName
- String
Den egenskap som ska nås.
Returer
Den skapade MemberExpression.
Gäller för
Property(Expression, PropertyInfo)
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
Skapar en MemberExpression som representerar åtkomst till en egenskap.
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
Parametrar
- expression
- Expression
En Expression som egenskapen Expression ska vara lika med. Detta kan vara null för statiska egenskaper.
- property
- PropertyInfo
För PropertyInfo att ange egenskapen Member lika med.
Returer
En MemberExpression som har egenskapen NodeType lika med MemberAccess och Expression egenskaperna och Member inställda på de angivna värdena.
Undantag
property är null.
-eller-
Egenskapen som property representerar är inte static (Shared i Visual Basic) och expression är null.
expression. Typen kan inte tilldelas till deklareringstypen för den egenskap som property representerar.
Kommentarer
Egenskapen Type för resultatet MemberExpression är lika med PropertyType egenskapen Memberför .
Om egenskapen som representeras av property är static (Shared i Visual Basic), kan expressionnull.
Gäller för
Property(Expression, MethodInfo)
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
Skapar en MemberExpression som representerar åtkomst till en egenskap med hjälp av en egenskapsåtkomstmetod.
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
Parametrar
- expression
- Expression
En Expression som egenskapen Expression ska vara lika med. Detta kan vara null för statiska egenskaper.
- propertyAccessor
- MethodInfo
Det MethodInfo som representerar en egenskapsåtkomstmetod.
Returer
En MemberExpression som har NodeType egenskapen lika med MemberAccess, Expression egenskapen inställd på expression och Member egenskapen inställd på PropertyInfo som representerar egenskapen som används i propertyAccessor.
- Attribut
Undantag
propertyAccessor är null.
-eller-
Metoden som propertyAccessor representerar är inte static (Shared i Visual Basic) och expression är null.
expression. Typen kan inte tilldelas till deklareringstypen för metoden som representeras av propertyAccessor.
-eller-
Metoden som propertyAccessor representerar är inte en egenskapsåtkomstmetod.
Kommentarer
Egenskapen Type för resultatet MemberExpression är lika med PropertyType egenskapen Memberför .
Om metoden som representeras av propertyAccessor är static (Shared i Visual Basic), kan expressionnull.
Gäller för
Property(Expression, String)
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
- Källa:
- MemberExpression.cs
Skapar en MemberExpression som representerar åtkomst till en egenskap.
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
Parametrar
- expression
- Expression
En Expression vars Type innehåller en egenskap med namnet propertyName. Detta kan vara null för statiska egenskaper.
- propertyName
- String
Namnet på en egenskap som ska nås.
Returer
En MemberExpression som har NodeType egenskapen lika med MemberAccess, Expression egenskapen inställd på expressionoch Member egenskapen inställd på PropertyInfo egenskapen som representerar egenskapen som anges av propertyName.
- Attribut
Undantag
expression eller propertyName är null.
Ingen egenskap med namnet propertyName definieras i expression. Typ eller dess bastyper.
Exempel
I följande exempel visas hur du skapar ett uttryck som representerar åtkomst till en egenskap.
// 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
Kommentarer
Egenskapen Type för resultatet MemberExpression är lika med PropertyType egenskapen PropertyInfo för egenskapen som representerar egenskapen som anges av propertyName.
Den här metoden söker i expression. Typ och dess bastyper för en egenskap som har namnet propertyName. Offentliga egenskaper ges företräde framför icke-offentliga egenskaper. Om en matchande egenskap hittas skickas expression den här metoden och den PropertyInfo som representerar egenskapen till Property.