欢迎大家来到IT世界,在知识的湖畔探索吧!
一、原理
1、利用反射进行动态加载和调用
Assembly assembly = Assembly.LoadFrom(DllPath);
注意:利用dll的路径加载,需要后缀名.dll
2、加载dll完成后,获取dill中要使用的类
Type type = assembly .GetType(“命名空间.类名”);
3、实例化类型,参数可以自定义指定,也可以无参数,静态实例可以省略
obj = System.Activator.CreateInstance(type);
4、获取类中的指定方法
MethodInfo CommonInterface = type.GetMethod(“CommonInterface”);
5、对方法进行调用,多条性利用参数进行控制
CommonInterface.Invoke(obj, Params);
二、实例
object obj = null;
Assembly assembly = Assembly.LoadFrom("D:/NcrmyyCIS.dll");
Type type = assembly .GetType("NcrmyyCIS.CisHelp");
obj = System.Activator.CreateInstance(type);
MethodInfo CommonInterface = type.GetMethod("CommonInterface");
object[] Params = new object[2] { "Mz_doctor_help", "测试" };
CommonInterface.Invoke(obj, Params);
欢迎大家来到IT世界,在知识的湖畔探索吧!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/34071.html