共用方式為


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
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
繼承
PropertyInfo
衍生
屬性
實作

範例

此範例展示了如何利用各種反射類別來分析組合語言中包含的元資料。

備註

這個範例產生約 55,000 行資料,你可以在命令提示字元重定向到文字檔,內容如下: example.exe > propertyinfo.txt

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()
'

備註

屬性在邏輯上與場是相同的。 屬性是物件狀態中一個命名的面向,其值通常可透過 getset 存取者存取。 屬性可能為唯讀,此時不支援集合例程。

備註

要判斷屬性是否為 static,你必須透過呼叫 或 GetGetMethod 方法GetSetMethod來取得 MethodInfosetget 的 ,並檢查其IsStatic性質。

此類別中的幾個方法假設 get 屬性的存取器與 set 存取器方法具有特定格式。 與set方法的get簽名必須符合以下慣例:

  • 方法的 get 回傳型別與最後一個參數 set 必須相同。 這是該房產的類型。

  • getset方法必須擁有相同的索引數量、類型與順序。

若不遵循此格式,與 SetValue 方法的行為GetValue將未定義。

當參數GetCustomAttributesinherittrue呼叫 ICustomAttributeProvider.GetCustomAttributesPropertyInfo不會走過型態階層。 用 System.Attribute 來繼承自訂屬性。

給實施者的注意事項

當你從 繼承 時PropertyInfo,必須覆蓋以下成員:GetValue(Object, Object[])、、SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo)GetAccessors(Boolean)GetGetMethod(Boolean)GetSetMethod(Boolean)GetIndexParameters()

建構函式

名稱 Description
PropertyInfo()

初始化 PropertyInfo 類別的新執行個體。

屬性

名稱 Description
Attributes

取得該屬性的屬性。

CanRead

會得到一個值,表示該屬性是否能被讀取。

CanWrite

會得到一個值,表示該屬性是否可以寫入。

CustomAttributes

會獲得包含該成員自訂屬性的集合。

(繼承來源 MemberInfo)
DeclaringType

會得到宣告該成員的類別。

(繼承來源 MemberInfo)
GetMethod

取得 get 這個屬性的存取器。

IsCollectible

獲得一個值,表示該 MemberInfo 物件是否參考收藏品 AssemblyLoadContext中一個或多個組件。

(繼承來源 MemberInfo)
IsSpecialName

會得到一個值,表示該屬性是否為特殊名稱。

MemberType

會得到 MemberTypes 一個表示該成員為屬性的值。

MetadataToken

會得到一個識別元資料元素的值。

(繼承來源 MemberInfo)
Module

取得定義宣告電流所代表 MemberInfo 成員型態的模組。

(繼承來源 MemberInfo)
Name

會取得現任成員的名字。

(繼承來源 MemberInfo)
PropertyType

了解這個房產的類型。

ReflectedType

取得用來取得此實例 MemberInfo的類別物件。

(繼承來源 MemberInfo)
SetMethod

取得 set 這個屬性的存取器。

方法

名稱 Description
Equals(Object)

傳回值,這個值表示這個實例是否等於指定的物件。

GetAccessors()

回傳一個陣列,其元素反映出當前實例所反映的屬性的公共getset及存取者。

GetAccessors(Boolean)

回傳一個陣列,其元素反映公共屬性,若指定,則反映非公開 getset 存取者,反映該屬性由目前實例反映。

GetConstantValue()

由編譯器回傳與該屬性相關的字面值。

GetCustomAttributes(Boolean)

當在衍生類別中覆寫時,會回傳一個包含所有套用於該成員的自訂屬性陣列。

(繼承來源 MemberInfo)
GetCustomAttributes(Type, Boolean)

當在派生類別中覆寫時,會回傳一套套用於該成員並由 識別的 Type自訂屬性陣列。

(繼承來源 MemberInfo)
GetCustomAttributesData()

回傳一份物件清單 CustomAttributeData ,代表已套用於目標成員的屬性資料。

(繼承來源 MemberInfo)
GetGetMethod()

歸還本財產的公開 get 存取權。

GetGetMethod(Boolean)

當在派生類別中覆寫時,會回傳該屬性的公用或非公有 get 存取器。

GetHashCode()

傳回這個實例的哈希碼。

GetIndexParameters()

當在派生類別中覆寫時,會回傳該屬性所有索引參數的陣列。

GetModifiedPropertyType()

取得此屬性物件的修改型態。

GetOptionalCustomModifiers()

回傳一個代表屬性可選自訂修飾符的類型陣列。

GetRawConstantValue()

由編譯器回傳與該屬性相關的字面值。

GetRequiredCustomModifiers()

回傳一個代表屬性所需自訂修飾符的類型陣列。

GetSetMethod()

歸還本財產的公開 set 存取權。

GetSetMethod(Boolean)

當在衍生類別中覆寫時,會回傳 set 該屬性的存取器。

GetType()

發現屬性並提供屬性的存取。

GetValue(Object, BindingFlags, Binder, Object[], CultureInfo)

當在衍生類別中覆寫時,會回傳指定物件的屬性值,該物件包含指定的綁定、索引及文化特有資訊。

GetValue(Object, Object[])

回傳指定物件的屬性值,並可選擇索引屬性的索引值。

GetValue(Object)

回傳指定物件的屬性值。

HasSameMetadataDefinitionAs(MemberInfo)

發現屬性並提供屬性的存取。

(繼承來源 MemberInfo)
IsDefined(Type, Boolean)

當在派生類別中覆寫時,表示是否套用指定類型或其衍生型別的一個或多個屬性給該成員。

(繼承來源 MemberInfo)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo)

當在派生類別中覆寫時,會設定指定物件的屬性值,該物件包含指定的綁定、索引及文化特定資訊。

SetValue(Object, Object, Object[])

設定指定物件的屬性值,並可選地為索引屬性設定索引值。

SetValue(Object, Object)

設定指定物件的屬性值。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

操作員

名稱 Description
Equality(PropertyInfo, PropertyInfo)

表示兩個 PropertyInfo 物體是否相等。

Inequality(PropertyInfo, PropertyInfo)

表示兩個 PropertyInfo 物體是否不相等。

明確介面實作

名稱 Description
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 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)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

_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)

表示該成員是否定義了一個或多個 的 attributeType 實例。

(繼承來源 MemberInfo)

擴充方法

名稱 Description
GetAccessors(PropertyInfo, Boolean)

發現屬性並提供屬性的存取。

GetAccessors(PropertyInfo)

發現屬性並提供屬性的存取。

GetCustomAttribute(MemberInfo, Type, Boolean)

擷取指定類型的自訂屬性,套用於指定成員,並可選擇性地檢查該成員的祖先。

GetCustomAttribute(MemberInfo, Type)

擷取指定型別的自訂屬性,套用到指定成員。

GetCustomAttribute<T>(MemberInfo, Boolean)

擷取指定類型的自訂屬性,套用於指定成員,並可選擇性地檢查該成員的祖先。

GetCustomAttribute<T>(MemberInfo)

擷取指定型別的自訂屬性,套用到指定成員。

GetCustomAttributes(MemberInfo, Boolean)

擷取一套套用於指定成員的自訂屬性,並可選擇性地檢查該成員的祖先。

GetCustomAttributes(MemberInfo, Type, Boolean)

擷取一組指定類型的自訂屬性,套用於指定成員,並可選擇性檢查該成員的祖先。

GetCustomAttributes(MemberInfo, Type)

擷取一組指定類型的自訂屬性,套用到指定成員。

GetCustomAttributes(MemberInfo)

擷取一套套用於指定成員的自訂屬性集合。

GetCustomAttributes<T>(MemberInfo, Boolean)

擷取一組指定類型的自訂屬性,套用於指定成員,並可選擇性檢查該成員的祖先。

GetCustomAttributes<T>(MemberInfo)

擷取一組指定類型的自訂屬性,套用到指定成員。

GetGetMethod(PropertyInfo, Boolean)

發現屬性並提供屬性的存取。

GetGetMethod(PropertyInfo)

發現屬性並提供屬性的存取。

GetMetadataToken(MemberInfo)

如果有的話,會獲得該成員的元資料標記。

GetSetMethod(PropertyInfo, Boolean)

發現屬性並提供屬性的存取。

GetSetMethod(PropertyInfo)

發現屬性並提供屬性的存取。

HasMetadataToken(MemberInfo)

回傳一個值,表示指定成員是否有可用的元資料標記。

IsDefined(MemberInfo, Type, Boolean)

表示是否將特定類型的自訂屬性套用於指定成員,並可選擇套用於其祖先。

IsDefined(MemberInfo, Type)

表示是否套用特定類型的自訂屬性給指定成員。

適用於

執行緒安全性

此類型是安全線程。