Expression.Property Metod

Definition

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.

type
Type

Som Type innehåller egenskapen.

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.

Gäller för