C#学习常用命名空间【1000】---System.Reflection 之MethodInfo(方法信息类)
2016-12-06 11:43
781 查看
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 | 获取返回类型的自定义属性。 |
名称 | 说明 | |
---|---|---|
Equality(MethodInfo,MethodInfo) | 指示两个 MethodInfo 对象是否相等。 | |
Inequality(MethodInfo,MethodInfo) | 指示两个 MethodInfo 对象是否不相等。 |
名称 | 说明 | |
---|---|---|
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
相关文章推荐
- C#学习常用命名空间【1000】---System.Reflection 之MemberInfo(成员信息类)
- C#学习常用命名空间【1000】---System.Reflection 之MethodBase(方法库类)
- C#学习常用命名空间【1000】---System.Reflection 之ConstructorInfo(构造函数信息类)
- C#学习常用命名空间【1000】---System.Reflection 之Assembly(程序集)类
- C#学习常用命名空间【1000】---System.Reflection
- C#学习常用的命名空间---System.Data.Linq(语言集成查询)
- C#学习常用命名空间【3000】---System.IO
- C#学习常用的命名空间---System.Runtime.InteropServices
- C#学习常用命名空间【2000】---System.Threading
- 学习笔记(二)C#获取当前正在执行的代码的命名空间、类、方法的名称
- C# System.Net.NetworkInformation 命名空间学习之NetworkInterface 类获取IP,DNS,Gateway,Mask, MAC等网络相关信息
- 第一天,第一个C#程序,学习C#基本语法。掌握命名空间、类、变量、方法等基本概念。
- C#文件处理-System.IO 命名空间常用的类
- Visual C# 技术内幕学习笔记 第二章 C#基础(4) 可访问性、命名空间
- C#学习笔记:命名空间
- c# 常用命名空间功能解释
- [转]C# 关于反射类[System.Reflection] 根据类名 动态调用 类方法
- 详情学习C#中System.IO.File类和System.IO.FileInfo类的用法2
- C#自定义命名空间与使用自定义的命名空间方法
- "命名空间"system.web"中不存在类型或命名空间名称security"错误解决方法