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) });//匹配调用函数的参数类型和个数

相关推荐
“AI国潮设计-小江”9 分钟前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁英歌舞猫IP & 创意甜品设计(附ComfyUI工作流与商业授权说明)
开发语言·人工智能·python·prompt·aigc
529宝宝起名网18 分钟前
用 Python 分析汉字字源与起名用字的关联规律:从六书结构到文化寓意的起名偏好洞察
开发语言·python
linx29526 分钟前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
XiaoZhenHua9843 分钟前
C#工业机器视觉Recipe配方系统设计:多型号、多相机、多工位参数如何统一管理
c#·软件架构·机器视觉·工业自动化·工业软件·recipe
白色的北极熊1 小时前
c语言 输出菱形字符串
c语言·开发语言
学习智者2 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄
奔跑吧树袋熊2 小时前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
大江东去浪淘尽千古风流人物2 小时前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
菜鸟~noob2332 小时前
【电子战】测向精度极限——克拉美-罗下限(CRLB)与误差分析【含matlab代码】
开发语言·matlab
m0_734571762 小时前
深入理解C++ 析构函数<二>析构顺序
开发语言·c++