C#控制台 activator与invoke,利用反射调用一个类的有参数方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#控制台 activator与invoke,利用反射调用一个类的有参数方法相关的知识,希望对你有一定的参考价值。

1 code

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Reflection;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace ConsoleApplication1
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             //要调用的函数所在的类是 person
15             Type tp = typeof(Person);
16 
17             //                         方法的名字是:HelloWorld
18             MethodInfo method = tp.GetMethod("HelloWorldSuper");
19 
20             //创造一个实例
21             object obj = Activator.CreateInstance(tp);
22 
23             //调用函数
24             method.Invoke(obj, new object[] { 1,"2"});
25             Console.ReadKey();
26         }
27     }
28 
29     public class Person
30     {
31         public void HelloWorld()
32         {
33             Console.WriteLine("HelloWorld");
34         }
35         public void HelloWorldSuper(int a,string b)
36         {
37             Console.WriteLine("HelloWorld HelloWorld");
38         }
39     }
40 }

 

 

 

 

2 show

技术分享

 

以上是关于C#控制台 activator与invoke,利用反射调用一个类的有参数方法的主要内容,如果未能解决你的问题,请参考以下文章

类型安全的 Control.Invoke C#

[.NET] 平台调用(P/Invoke) 与 DllImport 使用的相关讲解与注意事项,

[.NET] 平台调用(P/Invoke) 与 DllImport 使用的相关讲解与注意事项,

C# this.Invoke()的作用与用法

C#高阶与初心:P/Invoke平台调用

P/Invoke之C#调用动态链接库DLL