.Net中的反射功能是极其强大的,本篇先用他来动态调用方法

看如下一个类

Public Class A

{

public void InvokeMethod(string methodname)

{

Type p=this.GetType();

MethodInfo m=p.GetMethod(methodname);

if(m!=null)

m.Invkoe(this,new object[0])

}

public void MethodA()

{

}

public void MethodB()

{

}

}

上面的类中在InvokeMethod方法中传进MethodA或MethodB字符串就能执行MethodA或MethodB方法了

当然还可以在进行如下改进:

public object FunctionA(int par1,object par2)

{

do something...

return some

}

public object InvokeMethod(string methodname,object[] paramet)

{

Type[] ptype=new Type[paramet.Length];

for(int i=0;i<ptype.Length;i++)

ptype[i]=paramet[i].GetType();

Type p=this.GetType();

MethodInfo m=p.GetMethod(methodname,ptype);

if(m!=null)

return m.Invkoe(this,paramet);

return null

}

调用InvokeMethod并传进方法名称和方法参数就能调用相应的方法,并返回值.

哈哈,就说这些,投石问路哈

转载于:https://www.cnblogs.com/ren700622/archive/2010/08/01/1789934.html

利用.Net中的反射动态调用方法相关推荐

  1. C# 知识点笔记:IEnumerable的使用,利用反射动态调用方法

    IEnumerable<T>的使用 创建一个IEnumerable对象 List<string> fruits = new List<string> { " ...

  2. Struts2中Action的动态调用方法

    在Struts2中,Action执行的时候并不一定要执行execute,我们可以指定Action执行哪个方法,下面分别介绍三种方法来指定Action执行哪个方法: 1.第一种方法,通过Action里的 ...

  3. (C#)利用反射动态调用类成员[转载]

    使用反射动态调用类成员,需要Type类的一个方法:InvokeMember.对该方法的声明如下(摘抄于MSDN): public object InvokeMember(    string name ...

  4. 利用反射动态调用类成员C#

    使用反射动态调用类成员,需要Type类的一个方法:InvokeMember.对该方法的声明如下(摘抄于MSDN): public object InvokeMember(    string name ...

  5. C# 利用反射动态调用类成员

    使用反射动态调用类成员,需要Type类的一个方法:InvokeMember.对该方法的声明如下: public object InvokeMember( string name, BindingFla ...

  6. Xcode中Objc动态调用方法同时避免警告的几个办法

    我们在Xcode中使用objc写代码的时候往往会碰到动态调用方法的时候. 如果是静态调用这很常见,不会有任何问题: [self performSelector:@selector(method)]; ...

  7. 通过.NET反射动态调用SetValue方法给属性PropertyInfo动态类型赋值

    注意:若不动态转换属性的值,简单调用SetValue方法赋值经常出错!特别是日期类型.带符号的数字类型等. 解决方案: 通过TypeDescriptor.GetConverter方法获取对应数值类型的 ...

  8. Java动态调用方法

    一直想学如何动态调用方法,今天终于看了一下.. public void function(String str) { / /根据 str的值 调用相应的方法 } public void test() ...

  9. 反射动态调用DLL类库测试

    定义:可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的名称.限定符和参数等.有了反射,即可对每一个类型了如指掌 ...

最新文章

  1. 4 通讯_鼎信通讯:2019年净利润同比下降20.58% 拟10转4派1.04元
  2. JAVA设计模式详解(六)----------状态模式
  3. java数据写入文件方案,Java如何将字符串数据写入文件?
  4. Java ObjectOutputStream flush()方法与示例
  5. 收藏 | 卷积神经网络中10大拍案叫绝的操作!
  6. Jenkins持久化集成使用
  7. myeclipse中配置maven
  8. android自定义application,Android Test Orchestrator和自定义Application类
  9. spring扩展点六:监听spring容器刷新事件
  10. 使用 Document!X 为自己的dll生成一个漂亮的说明文档
  11. 联想服务器r525维修,扩展性强易管理 联想R525 G2服务器拆解
  12. html中th与thead的详细区别
  13. Ajax关于readyState和status
  14. java计算机毕业设计房屋租赁管理系统源码+系统+lw+数据库+调试运行
  15. LintCode——Chalkboard XOR Game(黑板游戏)
  16. golang的杀手级应用:docker
  17. Unity3dMVC框架编程核心思想
  18. ZLAN_ACC 安装代码
  19. Win32k syscall
  20. C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏

热门文章

  1. 华为智慧屏鸿蒙挂安卓9,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片...
  2. c 窗体中添加mysql控件,MYSQL 统计数据-svn服务器启动-WinFrom控件库|.net开源控件库|HZHControls官网...
  3. matlab 指定区域随机游走_了解随机游走模型和移动平均过程(Python)
  4. Dart学习笔记01:环境搭建与开发环境配置
  5. Python学习笔记:使用Python操作数据库
  6. 无心剑中译罗素《通往幸福之路》
  7. SSM框架笔记07:初探Spring——采用XML配置文件与注解方式
  8. @经典微小说 因为爱
  9. 曲线聚类_R语言确定聚类的最佳簇数:3种聚类优化方法
  10. 对于树分治算法的初步理解