C#中类型Type的GetMethod方法

C#中类型Type有个GetMethod方法,调用该方法可获取指定方法名的方法信息实例。
使用时,其参数一般为2个,一个是方法名称字符串(可设置条件忽略大小写),另外一个参数为搜索方法的条件枚举。
该方法返回的是MethodInfo类型的实例,获取到了这个实例之后,我们就可以调用并执行该方法了。
MethodInfo method = type.GetMethod( funcName , BindingFlags.IgnoreCase | BindingFlags.Static | BindingFlags.Public );
这里要注意,搜索条件枚举,即第2个参数,要包含BindingFlags.Public,否则会返回NULL的。
如果是静态的方法,还要设置一个条件BindingFlags.Static。

得到了MethodInfo实例后,反射执行该方法:
method.Invoke( obj, arrParam );
obj为调用方法所属的类型实例,如果调用的为静态方法,可设置为null;arrParam为方法参数数组。

通过method.Invoke执行实例:

  protected void btnExecute_Click(object sender, EventArgs e)
        {
            try
            {
                var Job_CleanLogDataType = _Job_HermesEDMSubscripton.GetType();
                string paramsText = this.txtParam.Text;
                ThreadPool.QueueUserWorkItem((_) =>
                {
                    var methodInfo = Job_CleanLogDataType.GetMethod("OnStart", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);
                    methodInfo.Invoke(_Job_HermesEDMSubscripton, new object[] { paramsText });

                });
                this.lblMsg.Text = "执行OnStart完成";
            }
            catch (Exception ex)
            {
                this.lblMsg.Text = ex.ToString();

            }
        }
时间: 2024-09-28 05:34:57

C#中类型Type的GetMethod方法的相关文章

详解Python中的type()方法的使用

  这篇文章主要介绍了详解Python中的type()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 type()方法返回传递变量的类型.如果传递变量是字典那么它将返回一个字典类型. 语法 以下是type()方法的语法: ? 1 type(dict) 参数 dict -- 这是字典 返回值 此方法返回传递变量的类型. 例子 下面的例子显示type()方法的使用 ? 1 2 3 4 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age'

Python中实现参数类型检查的简单方法

  这篇文章主要介绍了Python中实现参数类型检查的简单方法,本文讲解使用装饰器实现参数类型检查并给出代码实例,需要的朋友可以参考下 Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应.比如,在声明一个函数时,不能指定参数的类型.用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的. Python自然没有类型强制转换一说了,因为它是动态语言.首先,所有对象都从Object继承而来,其次,它有强大的内省

xpath的数据和节点类型以及XPath中节点匹配的基本方法

XPath数据类型 XPath可分为四种数据类型: 节点集(node-set) 节点集是通过路径匹配返回的符合条件的一组节点的集合.其它类型的数据不能转换为节点集. 布尔值(boolean) 由函数或布尔表达式返回的条件匹配值,与一般语言中的布尔值相同,有true和 false两个值.布尔值可以和数值类型.字符串类型相互转换. 字符串(string) 字符串即包含一系列字符的集合,XPath中提供了一系列的字符串函数.字符串可与数值类型.布尔值类型的数据相互转换. 数值(number) 在XPa

C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法

  这篇文章主要介绍了C#..Net中把字符串(String)格式转换为DateTime类型的三种方法,本文总结了Convert.ToDateTime(string).Convert.ToDateTime(string, IFormatProvider).DateTime.ParseExact()三种方法,需要的朋友可以参考下 方式一:Convert.ToDateTime(string) 代码如下: Convert.ToDateTime(string) 注意:string格式有要求,必须是yyy

Excel中四种常用类型图表的创建方法

Excel中四种常用类型图表的创建方法   上图中的四种不同类型的图表都是根据同一个表格创建的,也就是说,这四种常用的图表是没有特定的数据限制的. 一.创建柱形图 1.将光标定位到要创建图表的数据区域内,然后切换到"插入"选项卡,在"图表"组的"柱形图"下选择一种需要的柱形图类型进行创建. 2.现在工作表中已经插入了一个选择的柱形图. 二.创建条形图 1.将光标定位到表格区域内,然后选择一个合适的条形图类型进行创建. 2.现在工作表中已经插入了一

getMethod方法调用疑惑

问题描述 Employee是一个类,getName和raiseSalary是该类中的方法,现在通过Class类的getMethod方法获得获得这两个方法的方法指针,调用如下Java codeMethod m1=Employee.class.getMethod("getName");Method m2=Employee.class.getMethod("raiseSalary",double.class);请问Employee.class.getMethod的clas

[ASP.NET AJAX]Function对象及Type类的方法介绍

ajax|asp.net|对象 上一回我们从总体上认识了JavaScript Microsoft AJAX Library由于临时有事,没有加入事例显得有点抽象,这一回一定会通过一些事例更加直观的来会一会Asp.NET Ajax脚本库中一个很是重要的类Type.这个类提供了一些扩展面向对象编程的一些反射方法,通过这个类我们可以注册类似.NET中的一些(如:命名空间,类,枚举等等)基本类型.这个Type类继承自window是一个Global类型,不属于任何命名空间.下面我们来看看Type中的一些基

C#和VB.NET中类型相关资料整理

C#和VB.NET中有一些和类型相关的方法和关键字,初学者刚开始理解可能会有点混乱,这里整理一下,希望对初学者有所帮助.如果大家有 需要补充的内容,欢迎回复. 1.GetType (1)Object.GetType() 该方法是所有对象都有的方法,MSDN中的解释是"获取当前实例的 Type.".该方法的返回值是System.Type类型的实例,表示 当前实例的确切运行时类型. 例如: C#: int number = 3; System.Type t = number.GetType

JavaScript中常用的六种互动方法示例

 这篇文章主要介绍了JavaScript中常用的六种互动方法示例,是个人的一些经验总结,这里分享给大家,希望对大家能够有所帮助.     1.confirm消息对话框 语法:confirm("str"); 参数说明:str为对话框中要显示的文本, 作用:通常用于提醒用户做出某些选择,其返回值为布尔类型,点击确定返回值为ture,点击取消返回值为false 例如:   代码如下: <script type="text/javascript"> var my