PropertyInfo 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。
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
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
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
,您必須呼叫 GetGetMethod 或 方法來取得 MethodInfoget
或 set
存取子的 GetSetMethod ,並檢查其 IsStatic 屬性。
這個類別中的數個方法假設 get
屬性的存取子和 set
存取子方法具有特定格式。 和 set
方法的get
簽章必須符合下列慣例:
方法的
get
傳回型別和方法的最後一個自變數set
必須相同。 這是屬性的類型。get
和set
方法必須具有相同的索引數目、類型和順序。
如果未遵循此格式,則 和 SetValue
方法的行為GetValue
是未定義的。
PropertyInfo
當 的 inherit
true
GetCustomAttributes
參數未逐步執行型別階層時,呼叫 。ICustomAttributeProvider.GetCustomAttributes 使用 System.Attribute 來繼承自定義屬性。
給實施者的注意事項
當您繼承自 PropertyInfo時,必須覆寫下列成員: GetValue(Object, Object[])、 SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo)、 GetAccessors(Boolean)、 GetGetMethod(Boolean)、 GetSetMethod(Boolean)、 和 GetIndexParameters()。
建構函式
PropertyInfo() |
初始化 PropertyInfo 類別的新執行個體。 |
屬性
Attributes |
取得這個屬性 (Property) 的屬性 (Attribute)。 |
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() |
當在衍生類別中覆寫時,傳回屬性的所有索引參數的陣列。 |
GetModifiedPropertyType() |
取得這個屬性物件的修改類型。 |
GetOptionalCustomModifiers() |
傳回類型的陣列,表示屬性的選擇性自訂修飾詞。 |
GetRawConstantValue() |
使用編譯器傳回與屬性相關聯的常值。 |
GetRequiredCustomModifiers() |
傳回類型的陣列,表示屬性的必要自訂修飾詞。 |
GetSetMethod() |
傳回這個屬性的公用 |
GetSetMethod(Boolean) |
當在衍生類別中覆寫時,傳回這個屬性的 |
GetType() |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetType() |
探索成員的屬性並提供成員中繼資料的存取。 (繼承來源 MemberInfo) |
GetValue(Object) |
傳回指定的物件的屬性值。 |
GetValue(Object, BindingFlags, Binder, Object[], CultureInfo) |
當在衍生類別中覆寫時,傳回指定的物件的屬性值,此物件具有指定的繫結、索引和文化特性特定資訊。 |
GetValue(Object, Object[]) |
傳回指定的物件的屬性值,和索引屬性的選擇性索引值。 |
HasSameMetadataDefinitionAs(MemberInfo) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 (繼承來源 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 物件是否不相等。 |
明確介面實作
擴充方法
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) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetAccessors(PropertyInfo, Boolean) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetGetMethod(PropertyInfo) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetGetMethod(PropertyInfo, Boolean) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetSetMethod(PropertyInfo) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
GetSetMethod(PropertyInfo, Boolean) |
探索屬性 (Property) 的屬性 (Attribute),並提供屬性中繼資料 (Metadata) 的存取。 |
適用於
執行緒安全性
此型別具備執行緒安全。