c# 如何调用指定文件夹里面的动态库dll

最近写代码时遇到了调用指定文件夹里面的dll的情况,在此总结一下:

一、我这里使用的方法是,Assembly 和 MethodInfo,代码如下:

Assembly myAssembly = Assembly.LoadFrom(dllPath);//dllPath是dll文件所在的文件夹

Type myType = myAssembly.GetType("mydll.TestCall");//mydll:namespace的名字,TestCall:类名

object myInstance = Activator.CreateInstance(myType);

MethodInfo myMethod = myType.GetMethod("testFunc");//testFunc:函数名

object returnValue = myMethod.Invoke(myInstance, new string\[\] { "", "" }); // 如果不需要参数,使用null,否则提供适当的参数数组,这里函数testFunc是两个string类型的参数

返回值returnValue,如果没有返回值,返回的是null

二、如果dll文件里面有重载函数话,处理如下,主要是GetMethod函数需要变动:

比如函数testFunc存在两个string参数 和 三个string参数的重载函数,那么,调用三个参数时,代码如下:

MethodInfo myMethod2 = myType.GetMethod("testFunc", new Type\[\] { typeof(String), typeof(String), typeof(String) });//匹配调用函数的参数类型和个数

相关推荐
敢敢のwings11 小时前
智元 GO-2 与 AgiBot-World 深度解读
开发语言·后端·golang
yaoxin52112311 小时前
503. Java 反射 - 编写 ServiceFactory 类
java·开发语言·python
一个帅气昵称啊11 小时前
.Net C# AI智能体开发-快速开始
开发语言·c#·.net
冬夜戏雪12 小时前
agent的trace 和eval
开发语言·前端·javascript
Sagittarius_A*12 小时前
Burst Lab | PHP 审计 13|反序列化(三):POP 链构造与 Gadget Chain 分析
开发语言·web安全·php·代码审计·反序列化
职场的momo12 小时前
11个后端与AI岗位同时开放:Java、网关、推理优化怎么匹配
java·开发语言·人工智能
蓝速科技12 小时前
蓝速科技丨新旧楼宇混杂场景下会议室预约门牌屏一体化改造方案
开发语言·科技·php
梦想的旅途213 小时前
Python实现企业微信文本消息发送
开发语言·python·企业微信
大鹏说大话14 小时前
美业微信会员系统哪个好
开发语言
半亩码田14 小时前
C#转Python第3.6篇:Python 的 @property 比 C# 的 get/set 更灵活
java·python·c#