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

相关推荐
划过手的泪滴t2 分钟前
【python】字典、列表、集合综合练习
开发语言·python·云计算·每日一练·数据类型
arsiya_jerry3 分钟前
使用nodejs输出著作权申请所需的word版源码
开发语言·node.js
hlyling4 分钟前
一键高效处理,批量缩放PNG图片,按比例轻松调整,高效工作从此开始!
javascript·python·c#·objective-c·batch·symfony
YoungMLet6 分钟前
【QT】多元素控件
c语言·开发语言·c++·qt·ui
F_D_Z16 分钟前
R&RStudio 下载及安装(详尽版)
开发语言·r语言·rstudio
万界星空科技36 分钟前
介绍一款Java开发的商业开源MES系统
java·开发语言·经验分享·科技·5g·开源·制造
PhyliciaFelicia1 小时前
空间数据采集与管理:为什么选择ArcGISPro和Python?
开发语言·python·深度学习·机器学习·arcgis·数据分析
袁袁袁袁满1 小时前
Python之MoviePy视频编辑模块介绍与应用
开发语言·python·音视频·moviepy·视频编辑模块
曼巴UE51 小时前
UE C++ 多镜头设置缩放 平移
开发语言·c++
不爱学习的啊Biao1 小时前
C# 下sendmessage和postmessage的区别详解与示例
开发语言·c#