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,可以确定该方法是泛型方法、开放式构造泛型方法还是封闭的构造泛型方法。
可以从 方法以及 、 ReturnType和 ReturnTypeCustomAttributes 属性获取有关方法的参数和ReturnParameter返回类型GetParameters的信息。
可以通过调用 Invoke 方法在类实例上执行方法。
可以通过调用 方法, MethodInfo 从表示泛型方法定义的泛型方法实例化表示构造泛型方法的对象 MakeGenericMethod 。
可以通过调用 Type.GetMethods 或 方法,或通过调用MethodInfo.MakeGenericMethod表示泛型方法定义的 对象的 方法MethodInfo来实例化MethodInfoType.GetMethod实例。
有关特定于泛型方法的术语的固定条件列表,请参阅 IsGenericMethod 属性。 有关泛型反射中使用的其他术语的固定条件列表,请参阅 IsGenericType 属性。
实施者说明
从 MethodInfo继承时,必须重写 GetBaseDefinition()、、ReturnType、ReturnTypeCustomAttributes、GetParameters()、GetMethodImplementationFlags()MethodHandleAttributes、Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)、、MemberTypeNameReflectedTypeGetCustomAttributes(Boolean)DeclaringType、、 GetCustomAttributes(Type, Boolean)和 。IsDefined(Type, Boolean)
构造函数
MethodInfo() |
初始化 MethodInfo 类的新实例。 |
属性
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 值,该值指示此成员是方法。 |
MemberType |
在派生类中重写时,获取 MemberTypes 值,该值指示成员类型 - 方法、构造函数、事件等。 (继承自 MemberInfo) |
MetadataToken |
获取一个值,该值标识元数据元素。 (继承自 MemberInfo) |
MethodHandle |
获取方法的内部元数据表示形式的句柄。 (继承自 MethodBase) |
MethodImplementationFlags |
获取指定方法实现特性的 MethodImplAttributes 标志。 (继承自 MethodBase) |
Module |
获取一个模块,在该模块中已经定义一个类型,该类型用于声明由当前 MemberInfo 表示的成员。 (继承自 MemberInfo) |
Name |
获取当前成员的名称。 (继承自 MemberInfo) |
ReflectedType |
获取用于获取 |
ReturnParameter |
获取一个 ParameterInfo 对象,该对象包含有关方法的返回类型的信息(例如返回类型是否具有自定义修饰符)。 |
ReturnType |
获取此方法的返回类型。 |
ReturnTypeCustomAttributes |
获取返回类型的自定义属性。 |
方法
CreateDelegate(Type) |
从此方法创建指定类型的委托。 |
CreateDelegate(Type, Object) |
从此方法创建具有指定目标的指定类型的委托。 |
CreateDelegate<T>() |
从此方法创建 |
CreateDelegate<T>(Object) |
从此方法创建具有指定目标的 |
Equals(Object) |
返回一个值,该值指示此实例是否与指定的对象相等。 |
Equals(Object) |
返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 MethodBase) |
GetBaseDefinition() |
当在派生类中被重写时,为直接或间接的基类(用该实例表示的方法首先在此类中声明)上的方法返回 MethodInfo 对象。 |
GetCustomAttributes(Boolean) |
在派生类中重写时,返回应用于此成员的所有自定义属性的数组。 (继承自 MemberInfo) |
GetCustomAttributes(Type, Boolean) |
在派生类中重写时,返回应用于此成员并由 Type 标识的自定义属性的数组。 (继承自 MemberInfo) |
GetCustomAttributesData() |
返回 CustomAttributeData 对象列表,这些对象表示已应用到目标成员的特性相关数据。 (继承自 MemberInfo) |
GetGenericArguments() |
返回 Type 对象的数组,这些对象表示泛型方法的类型实参或泛型方法定义的类型形参。 |
GetGenericArguments() |
返回 Type 对象的数组,这些对象表示泛型方法的类型实参或泛型方法定义的类型形参。 (继承自 MethodBase) |
GetGenericMethodDefinition() |
返回一个 MethodInfo 对象,该对象表示可从其构造当前方法的泛型方法定义。 |
GetHashCode() |
返回此实例的哈希代码。 |
GetHashCode() |
返回此实例的哈希代码。 (继承自 MethodBase) |
GetMethodBody() |
在派生类中重写后,获取 MethodBody 对象,该对象提供对 MSIL 流、局部变量和当前方法的异常的访问。 (继承自 MethodBase) |
GetMethodImplementationFlags() |
在派生的类中重写时,返回 MethodImplAttributes 标志。 (继承自 MethodBase) |
GetParameters() |
当在派生类中重写时,获取指定的方法或构造函数的参数。 (继承自 MethodBase) |
GetType() |
发现方法的属性并提供对方法元数据的访问。 |
GetType() |
发现方法的属性并提供对方法元数据的访问。 (继承自 MethodBase) |
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) |
运算符
Equality(MethodInfo, MethodInfo) |
指示两个 MethodInfo 对象是否相等。 |
Inequality(MethodInfo, MethodInfo) |
指示两个 MethodInfo 对象是否不相等。 |
显式接口实现
扩展方法
适用于
线程安全性
此类型是线程安全的。