MethodInfo 类        

发现方法的属性并提供对方法元数据的访问。

命名空间:                   System.Reflection
程序集:         mscorlib(位于 mscorlib.dll)

继承层次结构

System.Object
System.Reflection.MemberInfo
System.Reflection.MethodBase
System.Reflection.MethodInfo
Microsoft.JScript.JSMethod
Microsoft.JScript.JSMethodInfo
System.Reflection.Emit.DynamicMethod
System.Reflection.Emit.MethodBuilder

语法:

[SerializableAttribute]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class MethodInfo : MethodBase, _MethodInfo

(emit:发出,发表)

构造函数

名称 说明
MethodInfo()

初始化 MethodInfo 类的新实例。

属性

名称 说明
Attributes

获取与此方法关联的属性。(继承自 MethodBase。)

CallingConvention

获取一个值,该值指示此方法的调用约定。(继承自 MethodBase。)

ContainsGenericParameters

获取一个值,该值指示泛型方法是否包含未分配的泛型类型参数。(继承自 MethodBase。)

CustomAttributes

获取包含此成员的自定义特性的集合。(继承自 MemberInfo。)

DeclaringType

获取声明此成员的类。(继承自 MemberInfo。)

IsAbstract

获取一个值,该值指示该方法为抽象。(继承自 MethodBase。)

IsAssembly

获取一个值,该值指示是否由描述此方法或构造函数的潜在可见 MethodAttributes.Assembly; 也就是说,方法或构造函数显示最多为同一程序集中的其他类型也看不到派生类型的程序集之外。(继承自 MethodBase。)

IsConstructor

获取一个值,该值指示方法是否一个构造函数。(继承自 MethodBase。)

IsFamily

获取一个值,该值指示是否由描述此方法或构造函数的可见性 MethodAttributes.Family; 即方法或构造函数是仅在其类以及派生的类中可见。(继承自 MethodBase。)

IsFamilyAndAssembly

获取一个值,该值指示是否由描述此方法或构造函数的可见性 MethodAttributes.FamANDAssem; 也就是说,方法或构造函数可由派生类中,但仅限它们是否位于同一程序集中。(继承自 MethodBase。)

IsFamilyOrAssembly

获取一个值,该值指示是否由描述此方法或构造函数的潜在可见 MethodAttributes.FamORAssem; 也就是说,该方法或构造函数可以调用由派生类无论他们身在何处,并由同一程序集中的类。(继承自 MethodBase。)

IsFinal

获取一个值,该值指示此方法是否 final。(继承自 MethodBase。)

IsGenericMethod

获取一个值,该值指示该方法泛型。(继承自 MethodBase。)

IsGenericMethodDefinition

获取一个值,该值指示方法是否泛型方法定义。(继承自 MethodBase。)

IsHideBySig

获取一个值,该值指示是否在派生类中隐藏只有完全相同的签名的相同种类的成员。(继承自 MethodBase。)

IsPrivate

获取一个值,该值指示此成员私有。(继承自 MethodBase。)

IsPublic

获取一个值,该值指示这是否为公共方法。(继承自 MethodBase。)

IsSecurityCritical

获取一个值,该值指示当前方法或构造函数是安全关键或安全可靠关键在当前信任级别,因此可以执行关键操作。(继承自 MethodBase。)

IsSecuritySafeCritical

获取一个值,该值指示是否当前方法或构造函数是安全可靠关键在当前信任级别;也就是说,它是否可以执行关键操作并可以由透明代码访问。(继承自 MethodBase。)

IsSecurityTransparent

获取一个值,该值指示是否当前方法或构造函数是在透明当前信任级别,并因此不能执行一些关键操作。(继承自 MethodBase。)

IsSpecialName

获取一个值,该值指示此方法是否具有特殊名称。(继承自 MethodBase。)

IsStatic

获取一个值,该值指示方法是否 static。(继承自 MethodBase。)

IsVirtual

获取一个值,该值指示方法是否 virtual。(继承自 MethodBase。)

MemberType

获取一个 MemberTypes 值,该值指示此成员是方法。(覆盖 MemberInfo.MemberType。)

MetadataToken

获取一个值,标识元数据中的元素。(继承自 MemberInfo。)

MethodHandle

获取一种方法的内部元数据表示的句柄。(继承自 MethodBase。)

MethodImplementationFlags

获取 MethodImplAttributes 标志,用于指定某个方法实现的属性。(继承自 MethodBase。)

Module

获取在其中声明该成员的类型表示由当前类型的模块 MemberInfo 定义。(继承自 MemberInfo。)

Name

获取当前成员的名称。(继承自 MemberInfo。)

ReflectedType

获取用于获取此实例的类对象 MemberInfo。(继承自 MemberInfo。)

ReturnParameter

获取一个 ParameterInfo 对象,该对象包含有关方法的返回类型的信息(例如返回类型是否具有自定义修饰符)。

ReturnType

获取此方法的返回类型。

ReturnTypeCustomAttributes

获取返回类型的自定义属性。

方法

名称 说明
CreateDelegate(Type)

从此方法创建指定类型的委托。

CreateDelegate(Type,Object)

从此方法创建具有指定目标的指定类型的委托。

Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。(覆盖 MethodBase.Equals(Object)。)

Finalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

GetBaseDefinition()

当在派生类中被重写时,为直接或间接的基类(用该实例表示的方法首先在此类中声明)上的方法返回 MethodInfo 对象。

GetCustomAttributes(Boolean)

当在派生类中重写,则返回的所有自定义特性应用于此成员的数组。(继承自 MemberInfo。)

GetCustomAttributes(Type,Boolean)

当在派生类中重写时返回的自定义特性应用于此成员和由标识数组 Type。(继承自 MemberInfo。)

GetCustomAttributesData()

返回的列表 CustomAttributeData 对象表示有关已应用于目标成员的特性的数据。(继承自 MemberInfo。)

GetGenericArguments()

返回 Type 对象的数组,这些对象表示泛型方法的类型实参或泛型方法定义的类型形参。(覆盖 MethodBase.GetGenericArguments()。)

GetGenericMethodDefinition()

返回一个 MethodInfo 对象,该对象表示可从其构造当前方法的泛型方法定义。

GetHashCode()

返回此实例的哈希代码。(覆盖 MethodBase.GetHashCode()。)

GetMethodBody()

当在派生类中重写时获取 MethodBody 对象,它提供访问当前方法的 MSIL 流、 本地变量和异常。(继承自 MethodBase。)

GetMethodImplementationFlags()

当在派生类中重写返回 MethodImplAttributes 标志。(继承自 MethodBase。)

GetParameters()

当在派生类中重写,获取指定的方法或构造函数的参数。(继承自 MethodBase。)

GetType()

获取当前实例的 Type。(继承自 Object。)

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

当在派生类中重写时,将调用的反射的方法或使用给定的参数的构造函数。(继承自 MethodBase。)

Invoke(Object,Object[])

调用方法或构造函数使用指定的参数与当前实例表示的。(继承自 MethodBase。)

IsDefined(Type,Boolean)

当在派生类中重写,该值指示是否指定类型的字段或其派生类型的一个或多个特性应用于此成员。(继承自 MemberInfo。)

MakeGenericMethod(Type[])

用类型数组的元素替代当前泛型方法定义的类型参数,并返回表示结果构造方法的 MethodInfo 对象。

MemberwiseClone()

创建当前 Object 的浅表副本。(继承自 Object。)

ToString()

返回表示当前对象的字符串。(继承自 Object。)

运算符

名称 说明
Equality(MethodInfo,MethodInfo)

指示两个 MethodInfo 对象是否相等。

Inequality(MethodInfo,MethodInfo)

指示两个 MethodInfo 对象是否不相等。

显式接口实现

名称 说明
_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。)

_MethodBase.GetIDsOfNames(Guid,IntPtr,UInt32,UInt32,IntPtr)

将一组名称映射为对应的一组调度标识符。(继承自 MethodBase。)

_MethodBase.GetType()

有关此成员的说明,请参阅 _MethodBase.GetType。(继承自 MethodBase。)

_MethodBase.GetTypeInfo(UInt32,UInt32,IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。(继承自 MethodBase。)

_MethodBase.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。(继承自 MethodBase。)

_MethodBase.Invoke(UInt32,Guid,UInt32,Int16,IntPtr,IntPtr,IntPtr,IntPtr)

提供对某一对象公开的属性和方法的访问。(继承自 MethodBase。)

_MethodInfo.GetIDsOfNames(Guid,IntPtr,UInt32,UInt32,IntPtr)

将一组名称映射为对应的一组调度标识符。

_MethodInfo.GetType()

提供从 COM 对 GetType 方法的访问。

_MethodInfo.GetTypeInfo(UInt32,UInt32,IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。

_MethodInfo.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。

_MethodInfo.Invoke(UInt32,Guid,UInt32,Int16,IntPtr,IntPtr,IntPtr,IntPtr)

提供对某一对象公开的属性和方法的访问。

_MethodBase.IsAbstract

有关此成员的说明,请参阅 _MethodBase.IsAbstract。(继承自 MethodBase。)

_MethodBase.IsAssembly

有关此成员的说明,请参阅 _MethodBase.IsAssembly。(继承自 MethodBase。)

_MethodBase.IsConstructor

有关此成员的说明,请参阅 _MethodBase.IsConstructor。(继承自 MethodBase。)

_MethodBase.IsFamily

有关此成员的说明,请参阅 _MethodBase.IsFamily。(继承自 MethodBase。)

_MethodBase.IsFamilyAndAssembly

有关此成员的说明,请参阅 _MethodBase.IsFamilyAndAssembly。(继承自 MethodBase。)

_MethodBase.IsFamilyOrAssembly

有关此成员的说明,请参阅 _MethodBase.IsFamilyOrAssembly。(继承自 MethodBase。)

_MethodBase.IsFinal

有关此成员的说明,请参阅 _MethodBase.IsFinal。(继承自 MethodBase。)

_MethodBase.IsHideBySig

有关此成员的说明,请参阅 _MethodBase.IsHideBySig。(继承自 MethodBase。)

_MethodBase.IsPrivate

有关此成员的说明,请参阅 _MethodBase.IsPrivate。(继承自 MethodBase。)

_MethodBase.IsPublic

有关此成员的说明,请参阅 _MethodBase.IsPublic。(继承自 MethodBase。)

_MethodBase.IsSpecialName

有关此成员的说明,请参阅 _MethodBase.IsSpecialName。(继承自 MethodBase。)

_MethodBase.IsStatic

有关此成员的说明,请参阅 _MethodBase.IsStatic。(继承自 MethodBase。)

_MethodBase.IsVirtual

有关此成员的说明,请参阅 _MethodBase.IsVirtual。(继承自 MethodBase。)

扩展方法

名称 说明
GetCustomAttribute(Type)

已重载。检索指定类型的应用于指定的成员的自定义属性。(由 CustomAttributeExtensions 定义。)

GetCustomAttribute(Type,Boolean)

已重载。检索指定类型的应用于指定的成员,并根据需要检查该成员的祖先的自定义属性。(由 CustomAttributeExtensions 定义。)

GetCustomAttribute<T>()

已重载。检索指定类型的应用于指定的成员的自定义属性。(由 CustomAttributeExtensions 定义。)

GetCustomAttribute<T>(Boolean)

已重载。检索指定类型的应用于指定的成员,并根据需要检查该成员的祖先的自定义属性。(由 CustomAttributeExtensions 定义。)

GetCustomAttributes()

已重载。检索应用于指定的成员的自定义特性的集合。(由 CustomAttributeExtensions 定义。)

GetCustomAttributes(Type)

已重载。检索具有指定类型的自定义应用于指定的成员的特性的集合。(由 CustomAttributeExtensions 定义。)

GetCustomAttributes<T>(Boolean)

已重载。检索应用于指定成员的自定义特性的指定类型的集合,并根据需要检查该成员的祖先。(由 CustomAttributeExtensions 定义。)

GetRuntimeBaseDefinition()

检索表示直接或间接基类首先声明该方法的位置上的指定的方法的对象。(由 RuntimeReflectionExtensions 定义。)

IsDefined(Type)

已重载。指示是否为指定类型的自定义特性随即应用于指定的成员。(由 CustomAttributeExtensions 定义。)

备注

MethodInfo 类表示一种类型的方法。 您可以使用 MethodInfo 对象来获取有关该对象表示方法的信息和调用方法。 例如:

  • 您可以通过检索的值来确定该方法的可见性 IsFamilyAndAssembly, ,IsFamilyOrAssembly, ,IsPrivate, ,和 IsPublic 属性。

  • 你可以发现哪些属性检索的值可以通过应用到该方法 Attributes 属性或调用 GetCustomAttributes方法。

  • 该方法是泛型方法、 开放构造泛型方法,还是为封闭通过检索值的构造泛型方法,可以确定 IsGenericMethod 和 ContainsGenericParameters 属性。

  • 你可以获取有关方法的参数的信息,并返回类型从 GetParameters 方法和 ReturnParameter, ,ReturnType, ,和 ReturnTypeCustomAttributes 属性。

  • 可以对类实例执行的方法,通过调用 Invoke 方法。

  • 您可以实例化 MethodInfo 对象,表示从一个通过调用表示泛型方法定义一个构造泛型方法 MakeGenericMethod 方法。

您可以实例化 MethodInfo 实例通过调用 Type.GetMethods 或 Type.GetMethod 方法,或通过调用 MethodInfo.MakeGenericMethod 方法 MethodInfo 表示泛型方法定义的对象。

特定于泛型方法的术语的固定条件的列表,请参阅 IsGenericMethod 属性。 使用泛型反射中的其他术语的固定条件的列表,请参阅 IsGenericType 属性。

继承函数说明:

继承自 MethodInfo, ,必须重写 MethodInfo.GetBaseDefinition, ,MethodInfo.ReturnType, ,MethodInfo.ReturnTypeCustomAttributes, ,MethodBase.GetParameters, ,MethodBase.GetMethodImplementationFlags, ,MethodBase.MethodHandle, ,MethodBase.Attributes, ,MethodBase.Invoke, ,MemberInfo.Name, ,MemberInfo.MemberType, ,MemberInfo.DeclaringType, ,MemberInfo.ReflectedType, ,MemberInfo.GetCustomAttributes, ,MemberInfo.GetCustomAttributes, ,和 MemberInfo.IsDefined。

安全性

SecurityAction.InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

备注:转自https://msdn.microsoft.com/zh-cn/library/system.reflection.methodinfo.aspx

转载于:https://blog.51cto.com/jiaojusuimu/1879923

C#学习常用命名空间【1000】---System.Reflection 之MethodInfo(方法信息类)相关推荐

  1. Linux学习 - 常用和不太常用的实用awk命令

    欢迎关注生信宝典:http://mp.weixin.qq.com/s/8wD14FXt7fLDo1BjJyT0ew Linux学习系列文章是生信宝典最开始主推的一块,力图从一个新额视角帮助初学者快速入 ...

  2. 59. C# -- .NET Framework 常用命名空间总结

    .NET Framework 类库提供的一些常用的命名空间: 1.System.Collections; 包含定义各种对象集合(如列表.队列.位数组.哈希表和字典)的接口和类. 2.System.Te ...

  3. C# 常用命名空间说明

    System:其中包含的类型为引用程序需要的一些基本类型: System.Coliection:其下的类型主要用于管理集合.如堆栈.队列.散列表等. Syetm.Diagnostics:其下的类用于处 ...

  4. C#常用命名空间集合

    C#常用命名空间 MSDN上的C#.NET Framework类库文档目录树,本人觉得有点不得要领,于是参考搜到的结果简单整理如下: 一.基础命名空间 处理内建数据.数学计算.随机数的产生.环境变量. ...

  5. java枚举类是什么_Java学习--常用类(2)、Math类、枚举类

    1.日期时间类 小知识:在我们日常生活所使用的计算机端时间,实际上是对某一个特定时间的计数,即我们现在的时间离特定时间的间隔,这个间隔被称之为时间戳(timestamp),这个特定时间是:1970-0 ...

  6. 利用.NET Core类库System.Reflection.DispatchProxy实现简易Aop

    Aop即是面向切面编程,众多Aop框架里Castle是最为人所知的,另外还有死去的Spring.NET,当然,.NET Core社区新秀AspectCore在性能与功能上都非常优秀,已经逐渐被社区推崇 ...

  7. unity DOTS的学习总结之Job System应用——绘制曼德勃罗集合

    接上回:DOTS的学习总结之Job System的介绍,这次就利用之前了解知识来做点效果. 上回在这:unity DOTS的学习总结之Job System 说到并行处理,那最适合拿来做实验的就是一些分 ...

  8. .NET框架图解之五:System.Reflection

    这篇文章我们来学习System.Reflection,.net中反射的核心类.先来看图: 前面的文章,我们说过.net的元数据可以完整地描述类型,那么通过System.Reflection,可以在运行 ...

  9. 自动驾驶深度学习常用中英文对照表

    自动驾驶深度学习常用中英文对照表 A B C D E F G H I J K L M N O P Q R S T U V W Z A 英文 中文 词性 activation 激活值 n,名词 acti ...

最新文章

  1. 【怎样写代码】复杂对象的组装与创建 -- 建造者模式(二):解决方案
  2. HDU2544(SPFA算法)
  3. 《高级无线网络—4G技术》——1.3 混合4G无线网络协议
  4. 参数匹配顺序——Python学习之参数(三)
  5. 光流 | 基于光流法实现视觉里程计Visual Odometry(源代码)
  6. 曹大带我学 Go(5)—— 哪里来的 goexit
  7. 机器学习(十一)——机器学习中的矩阵方法(1)LU分解、QR分解
  8. 20个常用的Python小技巧
  9. mysql 日期间隔_mysql比较两个日期间隔
  10. JS的Document类型
  11. 软件测试最牛的8本书籍—你有读过吗?
  12. Ubuntu-区域截图
  13. 阿里云服务器的80端口被封了么?
  14. jvm的内存分布,参数配置 和 GC处理机制
  15. 深度学习平台、CPU和GPU使用
  16. 又一个同学被快手挂掉了
  17. mysql rls_DBMS_RLS包实现数据库表行级安全控制
  18. 企业局域网管理软件_为何要进行内部局域网管理
  19. Java 入门到精通的过程
  20. 数学小抄: 对于齐次变换矩阵的伴随算子求导性质

热门文章

  1. Spring SpEL 的使用
  2. 程序员是去大厂加班好还是在小公司天天摸鱼打卡下班好?
  3. linux 多用户ftp服务器的架设,用Linux架设FTP服务器(1)分享
  4. 精彩回顾 | 图扑软件助力贵州院打造智慧能源生态系统
  5. 第一次使用CSDN-markdown编辑器发现很不错提示很多用的实用功能
  6. 银河麒麟V10部署iServer
  7. java.sql.SQLException: 无效的列类型: 错误解析
  8. IDEA 启动时生成图案
  9. 踩坑记录: Pytorch框架下--- 从零使用卷积神经网络实现人脸面部表情识别 (基于连续维度)
  10. 支付宝二维码可以抓包更改金额_好消息!潍坊人也可以手机扫码坐公交啦!