Condividi tramite


Expression.Property Metodo

Definizione

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà.

Overload

Property(Expression, String, Expression[])

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

Property(Expression, PropertyInfo, Expression[])

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

Property(Expression, Type, String)

Crea un oggetto MemberExpression che accede a una proprietà.

Property(Expression, PropertyInfo)

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà.

Property(Expression, MethodInfo)

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà tramite un metodo della funzione di accesso alle proprietà.

Property(Expression, String)

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà.

Property(Expression, String, Expression[])

Origine:
IndexExpression.cs
Origine:
IndexExpression.cs
Origine:
IndexExpression.cs

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

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

Parametri

instance
Expression

Oggetto a cui appartiene la proprietà. Se la proprietà è statica/condivisa, deve essere Null.

propertyName
String

Nome dell'indicizzatore.

arguments
Expression[]

Matrice di oggetti Expression usati per indicizzare la proprietà.

Restituisce

Oggetto IndexExpression creato.

Si applica a

Property(Expression, PropertyInfo, Expression[])

Origine:
IndexExpression.cs
Origine:
IndexExpression.cs
Origine:
IndexExpression.cs

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

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

Parametri

instance
Expression

Oggetto a cui appartiene la proprietà. Se la proprietà è statica/condivisa, deve essere Null.

indexer
PropertyInfo

Oggetto PropertyInfo che rappresenta la proprietà da indicizzare.

arguments
Expression[]

Matrice di oggetti Expression usati per indicizzare la proprietà.

Restituisce

Oggetto IndexExpression creato.

Si applica a

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Origine:
IndexExpression.cs
Origine:
IndexExpression.cs
Origine:
IndexExpression.cs

Crea un oggetto IndexExpression che rappresenta l'accesso a una proprietà indicizzata.

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

Parametri

instance
Expression

Oggetto a cui appartiene la proprietà. Se la proprietà è statica/condivisa, deve essere Null.

indexer
PropertyInfo

Oggetto PropertyInfo che rappresenta la proprietà da indicizzare.

arguments
IEnumerable<Expression>

Raccolta IEnumerable<T> di oggetti Expression usati per indicizzare la proprietà.

Restituisce

Oggetto IndexExpression creato.

Si applica a

Property(Expression, Type, String)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che accede a una proprietà.

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

Parametri

expression
Expression

Oggetto contenitore della proprietà. Può essere Null per le proprietà statiche.

type
Type

Oggetto Type che contiene la proprietà.

propertyName
String

Proprietà a cui accedere.

Restituisce

Oggetto MemberExpression creato.

Si applica a

Property(Expression, PropertyInfo)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà.

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

Parametri

expression
Expression

Oggetto Expression su cui impostare la proprietà Expression. Può essere Null per le proprietà statiche.

property
PropertyInfo

Oggetto PropertyInfo su cui impostare la proprietà Member.

Restituisce

Oggetto MemberExpression la cui proprietà NodeType è uguale a MemberAccess e le cui proprietà Expression e Member sono impostate sui valori specificati.

Eccezioni

property è null.

-oppure-

La proprietà rappresentata da property non è static (Shared in Visual Basic) e expression è null.

expression.Type non è assegnabile al tipo dichiarante della proprietà che property rappresenta.

Commenti

La Type proprietà dell'oggetto risultante MemberExpression è uguale alla PropertyType proprietà di Member.

Se la proprietà rappresentata da property è static (Shared in Visual Basic), expression può essere null.

Si applica a

Property(Expression, MethodInfo)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà tramite un metodo della funzione di accesso alle proprietà.

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

Parametri

expression
Expression

Oggetto Expression su cui impostare la proprietà Expression. Può essere Null per le proprietà statiche.

propertyAccessor
MethodInfo

Oggetto MethodInfo che rappresenta un metodo della funzione di accesso della proprietà.

Restituisce

Oggetto MemberExpression la cui proprietà NodeType è uguale a MemberAccess, la cui proprietà Expression è impostata su expression e la cui proprietà Member è impostata su PropertyInfo, che rappresenta la proprietà a cui si accede in propertyAccessor.

Eccezioni

propertyAccessor è null.

-oppure-

Il metodo rappresentato da propertyAccessor non è static (Shared in Visual Basic) e expression è null.

expression.Type non è assegnabile al tipo dichiarante del metodo rappresentato da propertyAccessor.

-oppure-

Il metodo rappresentato da propertyAccessor non è un metodo della funzione di accesso alle proprietà.

Commenti

La Type proprietà dell'oggetto risultante MemberExpression è uguale alla PropertyType proprietà di Member.

Se il metodo rappresentato da propertyAccessor è static (Shared in Visual Basic), expression può essere null.

Si applica a

Property(Expression, String)

Origine:
MemberExpression.cs
Origine:
MemberExpression.cs
Origine:
MemberExpression.cs

Crea un oggetto MemberExpression che rappresenta l'accesso a una proprietà.

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

Parametri

expression
Expression

Oggetto Expression la cui proprietà Type contiene una proprietà denominata propertyName. Può essere null per le proprietà statiche.

propertyName
String

Nome di una proprietà a cui accedere.

Restituisce

Oggetto MemberExpression la cui proprietà NodeType è uguale a MemberAccess, la cui proprietà Expression è impostata su expression e la cui proprietà Member è impostata su PropertyInfo, che rappresenta la proprietà identificata da propertyName.

Eccezioni

expression o propertyName è null.

Nessuna proprietà denominata propertyName è definita in expression.Type o nei relativi tipi di base.

Esempio

Nell'esempio seguente viene illustrato come creare un'espressione che rappresenta l'accesso a una proprietà.

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

Commenti

La Type proprietà dell'oggetto risultante MemberExpression è uguale alla PropertyType proprietà di PropertyInfo che rappresenta la proprietà indicata da propertyName.

Questo metodo esegue la ricerca in expression. Digitare e i relativi tipi di base per una proprietà con il nome propertyName. Alle proprietà pubbliche viene assegnata la preferenza rispetto alle proprietà non pubbliche. Se viene trovata una proprietà corrispondente, questo metodo passa expression e l'oggetto PropertyInfo che rappresenta tale proprietà a Property.

Si applica a