PropertyInfo Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выявляет атрибуты свойства и обеспечивает доступ к его метаданным.
public ref class PropertyInfo abstract : System::Reflection::MemberInfo
public ref class PropertyInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_PropertyInfo
public abstract class PropertyInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class PropertyInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._PropertyInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class PropertyInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._PropertyInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class PropertyInfo : System.Reflection.MemberInfo
type PropertyInfo = class
inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type PropertyInfo = class
inherit MemberInfo
interface _PropertyInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PropertyInfo = class
inherit MemberInfo
interface _PropertyInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PropertyInfo = class
inherit MemberInfo
Public MustInherit Class PropertyInfo
Inherits MemberInfo
Public MustInherit Class PropertyInfo
Inherits MemberInfo
Implements _PropertyInfo
- Наследование
- Производный
- Атрибуты
- Реализации
Примеры
В этом примере показано, как использовать различные классы отражения для анализа метаданных, содержащихся в сборке.
Примечание
В этом примере создается около 55 000 строк данных, которые можно перенаправить в текстовый файл в командной строке следующим образом: example.exe > propertyinfo.txt
using namespace System;
using namespace System::Reflection;
static void Display(Int32 indent, String^ format, ... array<Object^>^param)
{
Console::Write("{0}", gcnew String (' ', indent));
Console::WriteLine(format, param);
}
// Displays the custom attributes applied to the specified member.
static void DisplayAttributes(Int32 indent, MemberInfo^ mi)
{
// Get the set of custom attributes; if none exist, just return.
array<Object^>^attrs = mi->GetCustomAttributes(false);
if (attrs->Length==0)
{
return;
}
// Display the custom attributes applied to this member.
Display(indent+1, "Attributes:");
for each ( Object^ o in attrs )
{
Display(indent*2, "{0}", o);
}
}
void main()
{
try
{
// This variable holds the amount of indenting that
// should be used when displaying each line of information.
Int32 indent = 0;
// Display information about the EXE assembly.
Assembly^ a = System::Reflection::Assembly::GetExecutingAssembly();
Display(indent, "Assembly identity={0}", gcnew array<Object^> {a->FullName});
Display(indent+1, "Codebase={0}", gcnew array<Object^> {a->CodeBase});
// Display the set of assemblies our assemblies reference.
Display(indent, "Referenced assemblies:");
for each ( AssemblyName^ an in a->GetReferencedAssemblies() )
{
Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", gcnew array<Object^> {an->Name, an->Version, an->CultureInfo, (BitConverter::ToString(an->GetPublicKeyToken()))});
}
Display(indent, "");
// Display information about each assembly loading into this AppDomain.
for each ( Assembly^ b in AppDomain::CurrentDomain->GetAssemblies())
{
Display(indent, "Assembly: {0}", gcnew array<Object^> {b});
// Display information about each module of this assembly.
for each ( Module^ m in b->GetModules(true) )
{
Display(indent+1, "Module: {0}", gcnew array<Object^> {m->Name});
}
// Display information about each type exported from this assembly.
indent += 1;
for each ( Type^ t in b->GetExportedTypes() )
{
Display(0, "");
Display(indent, "Type: {0}", gcnew array<Object^> {t});
// For each type, show its members & their custom attributes.
indent += 1;
for each (MemberInfo^ mi in t->GetMembers() )
{
Display(indent, "Member: {0}", gcnew array<Object^> {mi->Name});
DisplayAttributes(indent, mi);
// If the member is a method, display information about its parameters.
if (mi->MemberType==MemberTypes::Method)
{
for each ( ParameterInfo^ pi in (((MethodInfo^) mi)->GetParameters()))
{
Display(indent+1, "Parameter: Type={0}, Name={1}", gcnew array<Object^> {pi->ParameterType, pi->Name});
}
}
// If the member is a property, display information about the property's accessor methods.
if (mi->MemberType==MemberTypes::Property)
{
for each ( MethodInfo^ am in (((PropertyInfo^) mi)->GetAccessors()) )
{
Display(indent+1, "Accessor method: {0}", gcnew array<Object^> {am});
}
}
}
// Display a formatted string indented by the specified amount.
indent -= 1;
}
indent -= 1;
}
}
catch (Exception^ e)
{
Console::WriteLine(e->Message);
}
}
// The output shown below is abbreviated.
//
//Assembly identity=Reflection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// Codebase=file:///C:/Reflection.exe
//Referenced assemblies:
// Name=mscorlib, Version=1.0.5000.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
// Name=Microsoft.VisualBasic, Version=7.0.5000.0, Culture=, PublicKey token=B0-3F-5F-7F-11-D5-0A-3A
//
//Assembly: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// Module: mscorlib.dll
// Module: prc.nlp
// Module: prcp.nlp
// Module: ksc.nlp
// Module: ctype.nlp
// Module: xjis.nlp
// Module: bopomofo.nlp
// Module: culture.nlp
// Module: region.nlp
// Module: sortkey.nlp
// Module: charinfo.nlp
// Module: big5.nlp
// Module: sorttbls.nlp
// Module: l_intl.nlp
// Module: l_except.nlp
//
// Type: System.Object
// Member: GetHashCode
// Member: Equals
// Parameter: Type=System.Object, Name=obj
// Member: ToString
// Member: Equals
// Parameter: Type=System.Object, Name=objA
// Parameter: Type=System.Object, Name=objB
// Member: ReferenceEquals
// Parameter: Type=System.Object, Name=objA
// Parameter: Type=System.Object, Name=objB
// Member: GetType
// Member: .ctor
//
// Type: System.ICloneable
// Member: Clone
//
// Type: System.Collections.IEnumerable
// Member: GetEnumerator
// Attributes:
// System.Runtime.InteropServices.DispIdAttribute
//
// Type: System.Collections.ICollection
// Member: get_IsSynchronized
// Member: get_SyncRoot
// Member: get_Count
// Member: CopyTo
// Parameter: Type=System.Array, Name=array
// Parameter: Type=System.Int32, Name=index
// Member: Count
// Accessor method: Int32 get_Count()
// Member: SyncRoot
// Accessor method: System.Object get_SyncRoot()
// Member: IsSynchronized
// Accessor method: Boolean get_IsSynchronized()
//
using System;
using System.Reflection;
class Module1
{
public static void Main()
{
// This variable holds the amount of indenting that
// should be used when displaying each line of information.
Int32 indent = 0;
// Display information about the EXE assembly.
Assembly a = typeof(Module1).Assembly;
Display(indent, "Assembly identity={0}", a.FullName);
Display(indent+1, "Codebase={0}", a.CodeBase);
// Display the set of assemblies our assemblies reference.
Display(indent, "Referenced assemblies:");
foreach (AssemblyName an in a.GetReferencedAssemblies() )
{
Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", an.Name, an.Version, an.CultureInfo.Name, (BitConverter.ToString (an.GetPublicKeyToken())));
}
Display(indent, "");
// Display information about each assembly loading into this AppDomain.
foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies())
{
Display(indent, "Assembly: {0}", b);
// Display information about each module of this assembly.
foreach ( Module m in b.GetModules(true) )
{
Display(indent+1, "Module: {0}", m.Name);
}
// Display information about each type exported from this assembly.
indent += 1;
foreach ( Type t in b.GetExportedTypes() )
{
Display(0, "");
Display(indent, "Type: {0}", t);
// For each type, show its members & their custom attributes.
indent += 1;
foreach (MemberInfo mi in t.GetMembers() )
{
Display(indent, "Member: {0}", mi.Name);
DisplayAttributes(indent, mi);
// If the member is a method, display information about its parameters.
if (mi.MemberType==MemberTypes.Method)
{
foreach ( ParameterInfo pi in ((MethodInfo) mi).GetParameters() )
{
Display(indent+1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name);
}
}
// If the member is a property, display information about the property's accessor methods.
if (mi.MemberType==MemberTypes.Property)
{
foreach ( MethodInfo am in ((PropertyInfo) mi).GetAccessors() )
{
Display(indent+1, "Accessor method: {0}", am);
}
}
}
indent -= 1;
}
indent -= 1;
}
}
// Displays the custom attributes applied to the specified member.
public static void DisplayAttributes(Int32 indent, MemberInfo mi)
{
// Get the set of custom attributes; if none exist, just return.
object[] attrs = mi.GetCustomAttributes(false);
if (attrs.Length==0) {return;}
// Display the custom attributes applied to this member.
Display(indent+1, "Attributes:");
foreach ( object o in attrs )
{
Display(indent+2, "{0}", o.ToString());
}
}
// Display a formatted string indented by the specified amount.
public static void Display(Int32 indent, string format, params object[] param)
{
Console.Write(new string(' ', indent*2));
Console.WriteLine(format, param);
}
}
//The output shown below is abbreviated.
//
//Assembly identity=ReflectionCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// Codebase=file:///C:/Documents and Settings/test/My Documents/Visual Studio 2005/Projects/Reflection/Reflection/obj/Debug/Reflection.exe
//Referenced assemblies:
// Name=mscorlib, Version=2.0.0.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//
//Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
// Module: mscorlib.dll
//
// Type: System.Object
// Member: GetType
// Member: ToString
// Member: Equals
// Parameter: Type=System.Object, Name=obj
// Member: Equals
// Parameter: Type=System.Object, Name=objA
// Parameter: Type=System.Object, Name=objB
// Member: ReferenceEquals
// Attributes:
// System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
// Parameter: Type=System.Object, Name=objA
// Parameter: Type=System.Object, Name=objB
// Member: GetHashCode
// Member: .ctor
// Attributes:
// System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//
// Type: System.ICloneable
// Member: Clone
//
// Type: System.Collections.IEnumerable
// Member: GetEnumerator
// Attributes:
// System.Runtime.InteropServices.DispIdAttribute
//
// Type: System.Collections.ICollection
// Member: CopyTo
// Parameter: Type=System.Array, Name=array
// Parameter: Type=System.Int32, Name=index
// Member: get_Count
// Member: get_SyncRoot
// Member: get_IsSynchronized
// Member: Count
// Accessor method: Int32 get_Count()
// Member: SyncRoot
// Accessor method: System.Object get_SyncRoot()
// Member: IsSynchronized
// Accessor method: Boolean get_IsSynchronized()
//
// Type: System.Collections.IList
// Member: get_Item
// Parameter: Type=System.Int32, Name=index
// Member: set_Item
// Parameter: Type=System.Int32, Name=index
// Parameter: Type=System.Object, Name=value
// Member: Add
// Parameter: Type=System.Object, Name=value
// Member: Contains
// Parameter: Type=System.Object, Name=value
// Member: Clear
// Member: get_IsReadOnly
// Member: get_IsFixedSize
// Member: IndexOf
// Parameter: Type=System.Object, Name=value
// Member: Insert
// Parameter: Type=System.Int32, Name=index
// Parameter: Type=System.Object, Name=value
// Member: Remove
// Parameter: Type=System.Object, Name=value
// Member: RemoveAt
// Parameter: Type=System.Int32, Name=index
// Member: Item
// Accessor method: System.Object get_Item(Int32)
// Accessor method: Void set_Item(Int32, System.Object)
// Member: IsReadOnly
// Accessor method: Boolean get_IsReadOnly()
// Member: IsFixedSize
// Accessor method: Boolean get_IsFixedSize()
//
// Type: System.Array
// Member: IndexOf
// Parameter: Type=T[], Name=array
// Parameter: Type=T, Name=value
// Member: AsReadOnly
// Parameter: Type=T[], Name=array
// Member: Resize
// Attributes:
// System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
// Parameter: Type=T[]&, Name=array
// Parameter: Type=System.Int32, Name=newSize
// Member: BinarySearch
// Attributes:
// System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
// Parameter: Type=T[], Name=array
// Parameter: Type=T, Name=value
// Member: BinarySearch
// Attributes:
// System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
// Parameter: Type=T[], Name=array
// Parameter: Type=T, Name=value
// Parameter: Type=System.Collections.Generic.IComparer`1[T], Name=comparer
Imports System.Reflection
Module Module1
Sub Main()
' This variable holds the amount of indenting that
' should be used when displaying each line of information.
Dim indent As Int32 = 0
' Display information about the EXE assembly.
Dim a As Assembly = GetType(Module1).Assembly
Display(indent, "Assembly identity={0}", a.FullName)
Display(indent + 1, "Codebase={0}", a.CodeBase)
' Display the set of assemblies our assemblies reference.
Dim an As AssemblyName
Display(indent, "Referenced assemblies:")
For Each an In a.GetReferencedAssemblies()
Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", _
an.Name, an.Version, an.CultureInfo.Name, BitConverter.ToString(an.GetPublicKeyToken))
Next
Display(indent, "")
' Display information about each assembly loading into this AppDomain.
For Each a In AppDomain.CurrentDomain.GetAssemblies()
Display(indent, "Assembly: {0}", a)
' Display information about each module of this assembly.
Dim m As [Module]
For Each m In a.GetModules(True)
Display(indent + 1, "Module: {0}", m.Name)
Next
' Display information about each type exported from this assembly.
Dim t As Type
indent += 1
For Each t In a.GetExportedTypes()
Display(0, "")
Display(indent, "Type: {0}", t)
' For each type, show its members & their custom attributes.
Dim mi As MemberInfo
indent += 1
For Each mi In t.GetMembers()
Display(indent, "Member: {0}", mi.Name)
DisplayAttributes(indent, mi)
' If the member is a method, display information about its parameters.
Dim pi As ParameterInfo
If mi.MemberType = MemberTypes.Method Then
For Each pi In CType(mi, MethodInfo).GetParameters()
Display(indent + 1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name)
Next
End If
' If the member is a property, display information about the property's accessor methods.
If mi.MemberType = MemberTypes.Property Then
Dim am As MethodInfo
For Each am In CType(mi, PropertyInfo).GetAccessors()
Display(indent + 1, "Accessor method: {0}", am)
Next
End If
Next
indent -= 1
Next
indent -= 1
Next
End Sub
' Displays the custom attributes applied to the specified member.
Sub DisplayAttributes(ByVal indent As Int32, ByVal mi As MemberInfo)
' Get the set of custom attributes; if none exist, just return.
Dim attrs() As Object = mi.GetCustomAttributes(False)
If attrs.Length = 0 Then Return
' Display the custom attributes applied to this member.
Display(indent + 1, "Attributes:")
Dim o As Object
For Each o In attrs
Display(indent + 2, "{0}", o.ToString())
Next
End Sub
' Display a formatted string indented by the specified amount.
Sub Display(ByVal indent As Int32, ByVal format As String, ByVal ParamArray params() As Object)
Console.Write(New String(" "c, indent * 2))
Console.WriteLine(format, params)
End Sub
End Module
'The output shown below is abbreviated.
'
'Assembly identity=Reflection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
' Codebase=file:///C:/Reflection.exe
'Referenced assemblies:
' Name=mscorlib, Version=1.0.5000.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
' Name=Microsoft.VisualBasic, Version=7.0.5000.0, Culture=, PublicKey token=B0-3F-5F-7F-11-D5-0A-3A
'
'Assembly: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
' Module: mscorlib.dll
' Module: prc.nlp
' Module: prcp.nlp
' Module: ksc.nlp
' Module: ctype.nlp
' Module: xjis.nlp
' Module: bopomofo.nlp
' Module: culture.nlp
' Module: region.nlp
' Module: sortkey.nlp
' Module: charinfo.nlp
' Module: big5.nlp
' Module: sorttbls.nlp
' Module: l_intl.nlp
' Module: l_except.nlp
'
' Type: System.Object
' Member: GetHashCode
' Member: Equals
' Parameter: Type=System.Object, Name=obj
' Member: ToString
' Member: Equals
' Parameter: Type=System.Object, Name=objA
' Parameter: Type=System.Object, Name=objB
' Member: ReferenceEquals
' Parameter: Type=System.Object, Name=objA
' Parameter: Type=System.Object, Name=objB
' Member: GetType
' Member: .ctor
'
' Type: System.ICloneable
' Member: Clone
'
' Type: System.Collections.IEnumerable
' Member: GetEnumerator
' Attributes:
' System.Runtime.InteropServices.DispIdAttribute
'
' Type: System.Collections.ICollection
' Member: get_IsSynchronized
' Member: get_SyncRoot
' Member: get_Count
' Member: CopyTo
' Parameter: Type=System.Array, Name=array
' Parameter: Type=System.Int32, Name=index
' Member: Count
' Accessor method: Int32 get_Count()
' Member: SyncRoot
' Accessor method: System.Object get_SyncRoot()
' Member: IsSynchronized
' Accessor method: Boolean get_IsSynchronized()
'
Комментарии
Свойства логически совпадают с полями. Свойство — это именованный аспект состояния объекта, значение которого обычно доступно через get
методы доступа и set
методы доступа. Свойства могут быть доступны только для чтения, в этом случае подпрограмма набора не поддерживается.
Примечание
Чтобы определить, является static
ли свойство, необходимо получить MethodInfo объект или get
set
метод доступа, вызвав GetGetMethod метод или GetSetMethod его IsStatic свойство.
В этом классе предполагается, что get
методы доступа и set
метода доступа свойства имеют определенные форматы. Подписи и set
методы get
должны соответствовать следующему соглашению:
Возвращаемый тип
get
метода и последний аргументset
метода должны быть идентичными. Это тип свойства.Методы
get
иset
методы должны иметь одинаковое число, тип и порядок индексов.
Если этот формат не соблюдается, поведение GetValue
методов и SetValue
методов не определено.
PropertyInfo
ВызовICustomAttributeProvider.GetCustomAttributes, inherit
когда параметр не true
GetCustomAttributes
проходит по иерархии типов. Используется System.Attribute для наследования пользовательских атрибутов.
Примечания для тех, кто реализует этот метод
При наследовании PropertyInfoот , необходимо переопределить следующие члены: GetValue(Object, Object[]), SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo), , GetAccessors(Boolean), GetGetMethod(Boolean)GetSetMethod(Boolean)и GetIndexParameters().
Конструкторы
PropertyInfo() |
Инициализирует новый экземпляр класса PropertyInfo. |
Свойства
Attributes |
Получает атрибуты данного свойства. |
CanRead |
Получает значение, указывающее, можно ли выполнить считывание данного свойства. |
CanWrite |
Получает значение, указывающее, можно ли производить запись в данное свойство. |
CustomAttributes |
Получает коллекцию, содержащую пользовательские атрибуты этого члена. (Унаследовано от MemberInfo) |
DeclaringType |
Получает класс, объявляющий этот член. (Унаследовано от MemberInfo) |
GetMethod |
Получает метод доступа |
IsCollectible |
Получает значение, указывающее, является ли объект MemberInfo частью сборки, содержащейся в забираемом контексте AssemblyLoadContext. (Унаследовано от MemberInfo) |
IsSpecialName |
Возвращает значение, указывающее, является ли свойство специальным именем. |
MemberType |
Возвращает значение MemberTypes, указывающее, что этот член является свойством. |
MemberType |
При переопределении в производном классе получает значение MemberTypes, определяющее тип члена: метод, конструктор, событие и так далее. (Унаследовано от MemberInfo) |
MetadataToken |
Получает значение, определяющее элемент метаданных. (Унаследовано от MemberInfo) |
Module |
Получает модуль, в котором определяется тип, объявляющий член, представленный текущим объектом MemberInfo. (Унаследовано от MemberInfo) |
Name |
Возвращает имя текущего члена. (Унаследовано от MemberInfo) |
PropertyType |
Возвращает тип свойства. |
ReflectedType |
Получает объект класса, который использовался для извлечения данного экземпляра объекта |
SetMethod |
Получает метод доступа |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. |
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от MemberInfo) |
GetAccessors() |
Возвращает массив, элементы которого отражают открытые методы |
GetAccessors(Boolean) |
Возвращает массив, элементы которого отражают открытые и, если задано, неоткрытые методы доступа |
GetConstantValue() |
Метод возвращает значение-литерал, связанное с этим свойством компилятором. |
GetCustomAttributes(Boolean) |
При переопределении в производном классе возвращает массив всех настраиваемых атрибутов, примененных к данному члену. (Унаследовано от MemberInfo) |
GetCustomAttributes(Type, Boolean) |
При переопределении в производном классе возвращает массив настраиваемых атрибутов, применяемых к этому элементу и определяемых параметром Type. (Унаследовано от MemberInfo) |
GetCustomAttributesData() |
Возвращает список объектов CustomAttributeData, представляющих данные об атрибутах, примененных к целевому элементу. (Унаследовано от MemberInfo) |
GetGetMethod() |
Возвращает открытый метод доступа |
GetGetMethod(Boolean) |
При переопределении в производном классе возвращает для этого свойства открытый или неоткрытый метод доступа |
GetHashCode() |
Возвращает хэш-код данного экземпляра. |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от MemberInfo) |
GetIndexParameters() |
При переопределении в производном классе возвращает для этого свойства массив всех параметров индекса. |
GetOptionalCustomModifiers() |
Возвращает массив типов, представляющих необязательные настраиваемые модификаторы для свойства. |
GetRawConstantValue() |
Метод возвращает значение-литерал, связанное с этим свойством компилятором. |
GetRequiredCustomModifiers() |
Возвращает массив типов, представляющих обязательные настраиваемые модификаторы для свойства. |
GetSetMethod() |
Возвращает открытый метод доступа |
GetSetMethod(Boolean) |
При переопределении в производном классе возвращает для этого свойства метод доступа |
GetType() |
Выявляет атрибуты свойства и обеспечивает доступ к его метаданным. |
GetType() |
Выявляет атрибуты элемента и обеспечивает доступ к его метаданным. (Унаследовано от MemberInfo) |
GetValue(Object) |
Возвращает значение свойства указанного объекта. |
GetValue(Object, BindingFlags, Binder, Object[], CultureInfo) |
При переопределении в производном классе возвращает значение свойства заданного объекта, имеющего указанные сведения о привязке, индексе и языке и региональных параметрах. |
GetValue(Object, Object[]) |
Возвращает значение свойства заданного объекта с дополнительными значениями индекса для индексированных свойств. |
HasSameMetadataDefinitionAs(MemberInfo) | (Унаследовано от MemberInfo) |
IsDefined(Type, Boolean) |
При переопределении в производном классе указывает, применяются ли для этого члена один или несколько атрибутов заданного типа или его производных типов. (Унаследовано от MemberInfo) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
SetValue(Object, Object) |
Задает значение свойства для указанного объекта. |
SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo) |
При переопределении в производном классе задает значение свойства для заданного объекта, имеющего указанные сведения о привязке, индексе и языке и региональных параметрах. |
SetValue(Object, Object, Object[]) |
Задает значение свойства заданного объекта с дополнительными значениями индекса для индексированных свойств. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Операторы
Equality(PropertyInfo, PropertyInfo) |
Определение равенства двух объектов PropertyInfo. |
Inequality(PropertyInfo, PropertyInfo) |
Определяет неравенство двух объектов PropertyInfo. |
Явные реализации интерфейса
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от MemberInfo) |
_MemberInfo.GetType() |
Возвращает объект Type, представляющий класс MemberInfo. (Унаследовано от MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса. (Унаследовано от MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от MemberInfo) |
_PropertyInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. |
_PropertyInfo.GetType() |
Возвращает объект Type, представляющий тип PropertyInfo. |
_PropertyInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса. |
_PropertyInfo.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). |
_PropertyInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. |
ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Возвращает массив всех настраиваемых атрибутов, определенных для этого элемента, за исключением именованных атрибутов, или пустой массив, если атрибуты отсутствуют. (Унаследовано от MemberInfo) |
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Возвращает массив настраиваемых атрибутов, определенных для этого элемента с учетом типа, или пустой массив, если отсутствуют настраиваемые атрибуты определенного типа. (Унаследовано от MemberInfo) |
ICustomAttributeProvider.IsDefined(Type, Boolean) |
Указывает, сколько экземпляров |
Методы расширения
GetCustomAttribute(MemberInfo, Type) |
Извлекает пользовательский атрибут заданного типа, примененный к указанному элементу. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
Извлекает настраиваемый атрибут указанного типа, который применяется к указанному элементу и, при необходимости, проверяет предков этого элемента. |
GetCustomAttribute<T>(MemberInfo) |
Извлекает пользовательский атрибут заданного типа, примененный к указанному элементу. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
Извлекает настраиваемый атрибут указанного типа, который применяется к указанному элементу и, при необходимости, проверяет предков этого элемента. |
GetCustomAttributes(MemberInfo) |
Извлекает коллекцию настраиваемых атрибутов, примененных к указанному члену. |
GetCustomAttributes(MemberInfo, Boolean) |
Извлекает коллекцию пользовательских атрибутов, которые применяются к указанному элементу и, при необходимости, проверяет предков этого элемента. |
GetCustomAttributes(MemberInfo, Type) |
Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанному элементу. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
Извлекает коллекцию пользовательских атрибутов указанного типа, которые применяется к указанному элементу и, при необходимости, проверяет предков этого элемента. |
GetCustomAttributes<T>(MemberInfo) |
Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанному элементу. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
Извлекает коллекцию пользовательских атрибутов указанного типа, которые применяется к указанному элементу и, при необходимости, проверяет предков этого элемента. |
IsDefined(MemberInfo, Type) |
Указывает, применены ли какие-либо пользовательские атрибуты заданного типа к указанному члену. |
IsDefined(MemberInfo, Type, Boolean) |
Указывает применены ли настраиваемые атрибуты указанного типа к указанному элементу и, при необходимости, применены ли они к его предкам. |
GetMetadataToken(MemberInfo) |
Возвращает маркер метаданных для заданного элемента, если он доступен. |
HasMetadataToken(MemberInfo) |
Возвращает значение, указывающее, доступен ли маркер метаданных для указанного элемента. |
GetAccessors(PropertyInfo) | |
GetAccessors(PropertyInfo, Boolean) | |
GetGetMethod(PropertyInfo) | |
GetGetMethod(PropertyInfo, Boolean) | |
GetSetMethod(PropertyInfo) | |
GetSetMethod(PropertyInfo, Boolean) |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.