Expression.Property Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает объект MemberExpression , представляющий доступ к свойству.
Перегрузки
| Имя | Описание |
|---|---|
| Property(Expression, String, Expression[]) |
IndexExpression Создает представление доступа к индексированного свойства. |
| Property(Expression, PropertyInfo, Expression[]) |
IndexExpression Создает представление доступа к индексированного свойства. |
| Property(Expression, PropertyInfo, IEnumerable<Expression>) |
IndexExpression Создает представление доступа к индексированного свойства. |
| Property(Expression, Type, String) |
Создает доступ к свойству MemberExpression . |
| Property(Expression, PropertyInfo) |
Создает объект MemberExpression , представляющий доступ к свойству. |
| Property(Expression, MethodInfo) |
Создает объект MemberExpression , представляющий доступ к свойству с помощью метода доступа к свойствам. |
| Property(Expression, String) |
Создает объект MemberExpression , представляющий доступ к свойству. |
Property(Expression, String, Expression[])
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
IndexExpression Создает представление доступа к индексированного свойства.
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
Параметры
- instance
- Expression
Объект, к которому принадлежит свойство. Если свойство является статическим или общим, оно должно иметь значение NULL.
- propertyName
- String
Имя индексатора.
- arguments
- Expression[]
Массив объектов, используемых Expression для индексирования свойства.
Возвращаемое значение
Созданный IndexExpressionобъект.
- Атрибуты
Применяется к
Property(Expression, PropertyInfo, Expression[])
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
IndexExpression Создает представление доступа к индексированного свойства.
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
Параметры
- instance
- Expression
Объект, к которому принадлежит свойство. Если свойство является статическим или общим, оно должно иметь значение NULL.
- indexer
- PropertyInfo
Объект PropertyInfo , представляющий свойство для индексирования.
- arguments
- Expression[]
Массив объектов, используемых Expression для индексирования свойства.
Возвращаемое значение
Созданный IndexExpressionобъект.
Применяется к
Property(Expression, PropertyInfo, IEnumerable<Expression>)
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
- Исходный код:
- IndexExpression.cs
IndexExpression Создает представление доступа к индексированного свойства.
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
Параметры
- instance
- Expression
Объект, к которому принадлежит свойство. Если свойство является статическим или общим, оно должно иметь значение NULL.
- indexer
- PropertyInfo
Объект PropertyInfo , представляющий свойство для индексирования.
- arguments
- IEnumerable<Expression>
Объект IEnumerable<T> , используемый Expression для индексирования свойства.
Возвращаемое значение
Созданный IndexExpressionобъект.
Применяется к
Property(Expression, Type, String)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает доступ к свойству MemberExpression .
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
Параметры
- expression
- Expression
Содержащий объект свойства. Это может быть null для статических свойств.
- propertyName
- String
Доступ к свойству.
Возвращаемое значение
Созданный MemberExpressionобъект.
Применяется к
Property(Expression, PropertyInfo)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к свойству.
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
Параметры
- expression
- Expression
Значение Expression , равное свойству Expression . Это может быть null для статических свойств.
- property
- PropertyInfo
Значение PropertyInfo для задания Member свойства равно.
Возвращаемое значение
Значение MemberExpression , равное свойству NodeTypeMemberAccess и ExpressionMember свойствам, заданным указанным значениям.
Исключения
property равно null.
–или–
Свойство, property представляющее значение , не является (Sharedstatic в Visual Basic) и expression имеет значение null.
expression. Тип нельзя назначить декларируемому типу свойства, property представляющего.
Комментарии
Свойство Type результирующего MemberExpression объекта равно свойству PropertyTypeMember.
Если свойство представлено propertystatic (Shared в Visual Basic), expression может быть null.
Применяется к
Property(Expression, MethodInfo)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к свойству с помощью метода доступа к свойствам.
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
Параметры
- expression
- Expression
Значение Expression , равное свойству Expression . Это может быть null для статических свойств.
- propertyAccessor
- MethodInfo
Метод MethodInfo доступа к свойствам.
Возвращаемое значение
Значение, равное свойствуexpression, Expression свойству, заданному, и Member свойству, заданному PropertyInfo для свойства, представляющего свойство, доступ к которому имеется.propertyAccessorMemberExpressionNodeTypeMemberAccess
- Атрибуты
Исключения
propertyAccessor равно null.
–или–
Метод, propertyAccessor представляющий не static (Shared в Visual Basic) и expression является null.
expression. Тип не присваивается декларируемому типу метода, propertyAccessorпредставленному .
–или–
Метод, propertyAccessor представляющий, не является методом доступа к свойствам.
Комментарии
Свойство Type результирующего MemberExpression объекта равно свойству PropertyTypeMember.
Если метод представлен propertyAccessorstatic (Shared в Visual Basic), expression может быть null.
Применяется к
Property(Expression, String)
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
- Исходный код:
- MemberExpression.cs
Создает объект MemberExpression , представляющий доступ к свойству.
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
Параметры
- expression
- Expression
Объект Expression , в котором Type содержится свойство с именем propertyName. Это может быть null для статических свойств.
- propertyName
- String
Имя доступного свойства.
Возвращаемое значение
ОбъектMemberExpression, равный NodeTypeMemberAccessсвойствуexpression, Expression свойству, заданному, и Member свойству, заданному PropertyInfo для свойства, который представляет свойство, которое обозначаетсяpropertyName.
- Атрибуты
Исключения
expression или propertyName есть null.
В параметре
Примеры
В следующем примере показано, как создать выражение, представляющее доступ к свойству.
// 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
Комментарии
Свойство Type результирующего MemberExpression объекта равно PropertyType свойству PropertyInfo , представляющего свойство, которое обозначается propertyName.
Этот метод выполняет поиск expression. Тип и его базовые типы для свойства, имеющего имя propertyName. Общедоступные свойства задаются предпочтениями по сравнению с недоступными свойствами. Если найдено соответствующее свойство, этот метод передает expression и PropertyInfo представляет это свойство Property.