服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#高效反射调用方法类实例详解

C#高效反射调用方法类实例详解

2022-07-28 10:46ITMFB C#

在本篇文章中小编给大家分享的是关于C#高效反射调用方法类的相关实例内容,有兴趣的朋友们学习下。

c#高效反射调用方法类

1.创建一个业务类(homeservice),在类下创建3个方法

C#高效反射调用方法类实例详解

C#高效反射调用方法类实例详解

2.正常方式调用类的方法

C#高效反射调用方法类实例详解

3.反射方式调用类的方法

C#高效反射调用方法类实例详解

4.调用代码

C#高效反射调用方法类实例详解

5.调用结果

C#高效反射调用方法类实例详解

6.service类方法代码

C#高效反射调用方法类实例详解

C#高效反射调用方法类实例详解

内容扩展:

1、正常方式调用类的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
/// <summary>
    /// 正常调用类的方法(parm1)
    /// </summary>
    /// <returns></returns>
    public string getnormalmethod_2()
    {
      homeservice service = new homeservice();    
      //调用有参方法(name)
      string result = service.sayhello("李天");
      //输出调用信息
      string strs = getinvokeinfo("sayhello(string name)", result);
      return strs;
    }

2、反射方式调用类的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/// <summary>
    /// 通过反射调用类的方法(sayhello(string name))
    /// </summary>
    public string getinvokemethod_2()
    {
      // 1.load(命名空间名称),gettype(命名空间.类名)
      type type = assembly.load("studyinvokemethod").gettype("studyinvokemethod.homeservice");
      //2.getmethod(需要调用的方法名称)
      methodinfo method = type.getmethod("sayhello", new type[] { typeof(string) });
      // 3.调用的实例化方法(非静态方法)需要创建类型的一个实例
      object obj = activator.createinstance(type);
      //4.方法需要传入的参数
      object[] parameters = new object[] { "李天"};
      // 5.调用方法,如果调用的是一个静态方法,就不需要第3步(创建类型的实例)
      // 相应地调用静态方法时,invoke的第一个参数为null
      string result = (string)method.invoke(obj, parameters);
 
      //输出调用信息
      string strs = getinvokeinfo("sayhello(string name)", result);
      return strs;
    }

延伸 · 阅读

精彩推荐
  • C#C#创建SQLite控制台应用程序详解

    C#创建SQLite控制台应用程序详解

    这篇文章主要为大家详细介绍了C#创建SQLite控制台应用程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    cnc6062022-01-17
  • C#C#在Winform开发中使用Grid++报表

    C#在Winform开发中使用Grid++报表

    这篇文章主要介绍了C#在Winform开发中使用Grid++报表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    伍华聪11642022-07-13
  • C#在winform下实现左右布局多窗口界面的方法

    在winform下实现左右布局多窗口界面的方法

    在web页面上我们可以通过frameset,iframe嵌套框架很容易实现各种导航+内容的布局界面,而在winform、WPF中实现其实也很容易,通过本文给大家介绍在winform下实...

    梦在旅途5522021-11-14
  • C#C#实现备忘录功能

    C#实现备忘录功能

    这篇文章主要为大家详细介绍了C#实现备忘录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    超越时光的速度7722022-02-10
  • C#C#实现微信红包功能

    C#实现微信红包功能

    这篇文章主要介绍了C#实现微信红包功能,使用正态分布计算红包金额,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考...

    WuLex8472022-01-07
  • C#详解C#中三个关键字params,Ref,out

    详解C#中三个关键字params,Ref,out

    本文主要讨论params关键字,ref关键字,out关键字。非常不错,具有参考借鉴价值,需要的朋友参考下吧...

    RynerLute8982022-01-06
  • C#详解c# 类的构造方法

    详解c# 类的构造方法

    本文主要介绍了c#类的构造方法。具有一定的参考价值,下面跟着小编一起来看下吧...

    liyongke4552021-12-20
  • C#c#图片上传和显示的实现方法

    c#图片上传和显示的实现方法

    这篇文章主要介绍了c#实现图片上传和显示的实现方法,可实现图片上传效果预览功能,需要的朋友可以参考下。...

    叶超Luka8812021-12-08