1. namespace TestReflection
  2. {
  3. public partial class Form1 : Form
  4. {
  5. public Form1()
  6. {
  7. InitializeComponent();
  8. }
  9. private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
  10. {
  11. string MethodName = comboBoxEdit1.SelectedItem.ToString();
  12. TestMethod(MethodName, MethodName);
  13. }
  14. /// <summary>
  15. /// 反射调用类中的方法
  16. /// </summary>
  17. /// <param name="MethodName"></param>
  18. /// <param name="Text"></param>
  19. private void TestMethod(string MethodName, string Text)
  20. {
  21. try
  22. {
  23. ////    1.Load(命名空间名称),GetType(命名空间.类名)
  24. Type type = Assembly.Load("TestReflection").GetType("TestReflection.Test");
  25. ////    2.GetMethod(需要调用的方法名称)
  26. MethodInfo method = type.GetMethod(MethodName);
  27. ////    3.调用的实例化方法(非静态方法)需要创建类型的一个实例
  28. object obj = Activator.CreateInstance(type);
  29. ////    4.方法需要传入的参数
  30. object[] parameters = new object[] { this, Text };
  31. ////    5.调用方法,如果调用的是一个静态方法,就不需要第3步(创建类型的实例)
  32. ////      相应地调用静态方法时,Invoke的第一个参数为null
  33. method.Invoke(obj, parameters);
  34. }
  35. catch
  36. {
  37. }
  38. }
  39. }
  40. }

C# 利用反射调用类下的方法的更多相关文章

  1. C#如何通过反射调用类下的方法

    首先模拟一个mvc的项目,创建一个业务类(HomeService),在类下创建3个方法 public class HomeService { /// <summary> /// 无参方法 ...

  2. java利用反射调用类的某个方法

    java利用反射机制 可以动态调用某个类的某个方法,在 扩展系统功能或提供对外接口时经常用的到. 代码如下: 打印类Print.java package com.test.reflct; /** * ...

  3. Java_通过反射调用类中的方法

    先上一个基本的封装: /** * 获取classType * * @param type * @param provinceCode * @param cityCode * @return * @th ...

  4. C#反射调用类的私有方法

    void Main() { var type = typeof(StockClass); type.Dump(); var fields=type.GetFields(BindingFlags.Ins ...

  5. 利用java反射调用类的的私有方法--转

    原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为 ...

  6. java利用反射访问类的私有(private)属性及方法

    Java语言中,在一个类中,为了不让外界访问到有的属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的 ...

  7. Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)

    public class MethodCall { public static void main(String[] args) { Test.sayStatic(); Test test = new ...

  8. C#通过反射调用类及方法

    反射有个典型的应用,就是菜单的动态加载,原理就是通过反射调用某个窗体(类).下面演示一下通过反射调用类及方法: 1.新建一个类,命名为:ReflectionHelper,代码如下: #region 创 ...

  9. Java 反射 调用私有域和方法(setAccessible)

    Java 反射 调用私有域和方法(setAccessible) @author ixenos AccessibleObject类 Method.Field和Constructor类共同继承了Acces ...

随机推荐

  1. ping一个网段的cmd程序

    ping一个网段的cmd程序 今天发现只在cmd命令行工具中输入: FOR /L %i IN (1,1,254) DO ping -n 1 192.168.1.%i 即可.

  2. 文字超长隐藏为...ie7不兼容的解决办法

    把li里的a设置display:block; 代码如下: html: <ul> <li><span>2014-8-27</span><a href ...

  3. docker私库harbor的搭建

    1.文件下载 # wget https://storage.googleapis.com/harbor-releases/harbor-online-installer-v1.5.1.tgz 安装官网 ...

  4. view之自定义控件

    转载自:http://blog.163.com/ppy2790@126/blog/static/103242241201382210910473/ 开发自定义控件的步骤: 1.了解View的工作原理  ...

  5. GDAL 地图切片层级计算公式

    作者: 蔡建良 2016-7-6 地图瓦片起始层数: xMin=栅格数据最小经度 xMax=栅格数据最大经度 起始层数=Log(第0层经纬度跨度/当前地图的经纬度跨度,2) minzoom = (in ...

  6. Linux开机自动挂载windows网络共享

    yum install samba-client yum install cifs.utils yum install samba-common 命令: mount -v -t  cifs    // ...

  7. centos7 使用二进制安装mysql 5.7.23

    1.下载二进制安装包 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz cd /usr/local/src wget https://cdn.mysql.com// ...

  8. 禁用win7更新

    关闭自动更新服务Windows Update 第一种方法 ---------------------------------------------------------------- Win + ...

  9. (转)C#操作Word文档

    原文1地址:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 原文2地址: http://www.cnblogs.com ...

  10. (转)C# WebApi 接口参数不再困惑:传参详解

    原文地址:https://www.cnblogs.com/landeanfen/p/5337072.html 本篇打算通过get.post.put.delete四种请求方式分别谈谈基础类型(包括int ...