MethodInfo 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發現方法屬性並提供方法元資料存取。
public ref class MethodInfo abstract : System::Reflection::MethodBase
public ref class MethodInfo abstract : System::Reflection::MethodBase, System::Runtime::InteropServices::_MethodInfo
public abstract class MethodInfo : System.Reflection.MethodBase
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class MethodInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._MethodInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class MethodInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._MethodInfo
type MethodInfo = class
inherit MethodBase
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type MethodInfo = class
inherit MethodBase
interface _MethodInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodInfo = class
inherit MethodBase
interface _MethodInfo
Public MustInherit Class MethodInfo
Inherits MethodBase
Public MustInherit Class MethodInfo
Inherits MethodBase
Implements _MethodInfo
- 繼承
- 衍生
- 屬性
- 實作
備註
該 MethodInfo 類別代表一種類型的方法。 你可以使用物件 MethodInfo 來取得該物件所代表的方法資訊並呼叫該方法。 例如:
你可以透過取得 、 IsFamilyOrAssembly、 IsPrivate和 IsPublic 屬性的IsFamilyAndAssembly值來判斷方法的可見性。
你可以透過取得 Attributes 屬性值或呼叫 GetCustomAttributes 方法來發現該方法被套用了哪些屬性。
你可以透過取得 和 ContainsGenericParameters 屬性的IsGenericMethod值來判斷該方法是通用方法、開放構造通用方法,還是封閉構造通用方法。
你可以從GetParameters方法ReturnParameterReturnType、、 、 和 ReturnTypeCustomAttributes 屬性中獲得方法的參數和回傳類型資訊。
你可以透過呼叫 Invoke 該方法來執行類別實例的方法。
你可以透過呼叫MakeGenericMethod該方法,實MethodInfo例化一個代表建構的通用方法的物件。
你可以透過呼叫 Type.GetMethods or 方法,或呼叫MethodInfo.MakeGenericMethod代表一般方法定義的物件的方法MethodInfo來實例化實MethodInfoType.GetMethod例。
關於通用方法專有項不變條件的列表,請參見性質。IsGenericMethod 關於一般反射中其他術語不變條件的列表,請參見性質。IsGenericType
給實施者的注意事項
當你從 繼承 MethodInfo時,必須覆寫 GetBaseDefinition(), ReturnType, ReturnTypeCustomAttributes, GetMethodImplementationFlags()ReflectedTypeDeclaringTypeGetCustomAttributes(Boolean)GetCustomAttributes(Type, Boolean)GetParameters()AttributesIsDefined(Type, Boolean)MethodHandleInvoke(Object, BindingFlags, Binder, Object[], CultureInfo)NameMemberType從 。
建構函式
| 名稱 | Description |
|---|---|
| MethodInfo() |
初始化 MethodInfo 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| Attributes |
取得與此方法相關的屬性。 (繼承來源 MethodBase) |
| CallingConvention |
會得到一個值,表示此方法的呼叫慣例。 (繼承來源 MethodBase) |
| ContainsGenericParameters |
會得到一個值,表示某個通用方法是否包含未指派的通用型別參數。 |
| ContainsGenericParameters |
會取得一個值,表示通用方法是否包含未指派的通用型別參數。 (繼承來源 MethodBase) |
| CustomAttributes |
會獲得包含該成員自訂屬性的集合。 (繼承來源 MemberInfo) |
| DeclaringType |
會得到宣告該成員的類別。 (繼承來源 MemberInfo) |
| IsAbstract |
會得到一個值,表示該方法是否為抽象。 (繼承來源 MethodBase) |
| IsAssembly |
獲得一個值,表示此方法或建構子的潛在可見性是否由 Assembly描述;也就是說,該方法或建構器最多對同一組裝中的其他型別可見,對組裝外的衍生型別則無法看到。 (繼承來源 MethodBase) |
| IsCollectible |
獲得一個值,表示該 MemberInfo 物件是否參考收藏品 AssemblyLoadContext中一個或多個組件。 (繼承來源 MemberInfo) |
| IsConstructedGenericMethod |
發現方法屬性並提供方法元資料存取。 (繼承來源 MethodBase) |
| IsConstructor |
會得到一個值,表示該方法是否為建構子。 (繼承來源 MethodBase) |
| IsFamily |
獲得一個值,表示此方法或建構子的可見性是否由 Family描述;也就是說,該方法或建構子僅在其類別及其衍生類別中可見。 (繼承來源 MethodBase) |
| IsFamilyAndAssembly |
會得到一個值,表示此方法或建構子的可見性是否由 FamANDAssem描述;也就是說,該方法或建構子可以被導出類別呼叫,但前提是它們位於同一組建構中。 (繼承來源 MethodBase) |
| IsFamilyOrAssembly |
會得到一個值,表示此方法或建構子的潛在可見性是否由 FamORAssem描述;也就是說,該方法或建構子可以被派生類別呼叫,無論它們所在的位置,或同一組合語言中的類別。 (繼承來源 MethodBase) |
| IsFinal |
得到一個值,表示此方法是否為 |
| IsGenericMethod |
會得到一個值,表示目前的方法是否屬於通用方法。 |
| IsGenericMethod |
會得到一個值,表示該方法是否為通用。 (繼承來源 MethodBase) |
| IsGenericMethodDefinition |
會得到一個值,表示電流 MethodInfo 是否代表一般方法的定義。 |
| IsGenericMethodDefinition |
會得到一個值,表示該方法是否為一般方法定義。 (繼承來源 MethodBase) |
| IsHideBySig |
會得到一個值,表示導出類別中是否只有同類型且簽名完全相同的成員被隱藏。 (繼承來源 MethodBase) |
| IsPrivate |
會獲得一個值,表示該成員是否為私人。 (繼承來源 MethodBase) |
| IsPublic |
會有一個值來表示這是否是一個公開方法。 (繼承來源 MethodBase) |
| IsSecurityCritical |
會獲得一個值,表示目前的方法或建構子在當前信任層級下是安全關鍵還是安全關鍵,因此可以執行關鍵操作。 (繼承來源 MethodBase) |
| IsSecuritySafeCritical |
獲得一個值,表示目前的方法或建構子在當前信任層級是否為安全關鍵;也就是說,它是否能執行關鍵操作,且是否能被透明程式碼存取。 (繼承來源 MethodBase) |
| IsSecurityTransparent |
會獲得一個值,表示目前的方法或建構子在目前信任層級是否透明,因此無法執行關鍵操作。 (繼承來源 MethodBase) |
| IsSpecialName |
會得到一個值,表示此方法是否有特殊名稱。 (繼承來源 MethodBase) |
| IsStatic |
獲得一個值,表示該方法是否為 |
| IsVirtual |
獲得一個值,表示該方法是否為 |
| MemberType |
會得到 MemberTypes 一個值,表示該成員是一個方法。 |
| MetadataToken |
會得到一個識別元資料元素的值。 (繼承來源 MemberInfo) |
| MethodHandle |
取得方法內部元資料表示的句柄。 (繼承來源 MethodBase) |
| MethodImplementationFlags |
取得 MethodImplAttributes 指定方法實作屬性的旗標。 (繼承來源 MethodBase) |
| Module |
取得定義宣告電流所代表 MemberInfo 成員型態的模組。 (繼承來源 MemberInfo) |
| Name |
會取得現任成員的名字。 (繼承來源 MemberInfo) |
| ReflectedType |
取得用來取得此實例 |
| ReturnParameter |
取得 ParameterInfo 一個包含方法回傳類型資訊的物件,例如該回傳類型是否有自訂修飾符。 |
| ReturnType |
取得此方法的回傳類型。 |
| ReturnTypeCustomAttributes |
取得返回型態的自訂屬性。 |
方法
| 名稱 | Description |
|---|---|
| CreateDelegate(Type, Object) |
從此方法建立指定類型的代理,並以指定目標為目標。 |
| CreateDelegate(Type) |
從此方法建立指定類型的代理。 |
| CreateDelegate<T>() |
從此方法建立 型別 |
| CreateDelegate<T>(Object) |
從此方法建立一個 為 的 |
| Equals(Object) |
傳回值,這個值表示這個實例是否等於指定的物件。 |
| GetBaseDefinition() |
當在派生類別中覆寫時,會回傳 MethodInfo 該方法在該實例首次宣告的直接或間接基底類別上的方法物件。 |
| GetCustomAttributes(Boolean) |
當在衍生類別中覆寫時,會回傳一個包含所有套用於該成員的自訂屬性陣列。 (繼承來源 MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
當在派生類別中覆寫時,會回傳一套套用於該成員並由 識別的 Type自訂屬性陣列。 (繼承來源 MemberInfo) |
| GetCustomAttributesData() |
回傳一份物件清單 CustomAttributeData ,代表已套用於目標成員的屬性資料。 (繼承來源 MemberInfo) |
| GetGenericArguments() |
回傳一個物件陣列 Type ,代表一般方法的型別參數或一般方法定義的型別參數。 |
| GetGenericMethodDefinition() |
回傳一個 MethodInfo 代表通用方法定義的物件,可用來構建目前的方法。 |
| GetHashCode() |
傳回這個實例的哈希碼。 |
| GetMethodBody() |
當在衍生類別中覆寫時,會獲得 MethodBody 一個物件,提供存取 MSIL 串流、本地變數及當前方法例外的存取權。 (繼承來源 MethodBase) |
| GetMethodImplementationFlags() |
當在衍生類別中被覆寫時,會回傳旗 MethodImplAttributes 標。 (繼承來源 MethodBase) |
| GetParameters() |
當在派生類別中覆寫時,會取得指定方法或建構子的參數。 (繼承來源 MethodBase) |
| GetType() |
發現方法屬性並提供方法元資料存取。 |
| HasSameMetadataDefinitionAs(MemberInfo) |
發現方法屬性並提供方法元資料存取。 (繼承來源 MemberInfo) |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
當在導出類別中被覆寫時,會呼叫反映的方法或構造子,並以給定參數進行。 (繼承來源 MethodBase) |
| Invoke(Object, Object[]) |
呼叫目前實例所代表的方法或建構子,使用指定的參數。 |
| Invoke(Object, Object[]) |
呼叫目前實例所代表的方法或建構子,使用指定的參數。 (繼承來源 MethodBase) |
| IsDefined(Type, Boolean) |
當在派生類別中覆寫時,表示是否套用指定類型或其衍生型別的一個或多個屬性給該成員。 (繼承來源 MemberInfo) |
| MakeGenericMethod(Type[]) |
將型別陣列中的元素替換為目前通用方法定義的型別參數,並回傳 MethodInfo 一個代表所建構方法的物件。 |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
操作員
| 名稱 | Description |
|---|---|
| Equality(MethodInfo, MethodInfo) |
表示兩個 MethodInfo 物體是否相等。 |
| Inequality(MethodInfo, MethodInfo) |
表示兩個 MethodInfo 物體是否不相等。 |
明確介面實作
擴充方法
適用於
執行緒安全性
此類型是安全線程。