C#.NET怎样用代码实现加载DLL并且向DLL中传参数

bsxbsx 2011-01-30 11:11:52
我现在向用代码实现加载DLL,并向这个DLL中传参数,比如要传三个参数
请哪位高手指点迷津 谢谢!!!
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冷小莫88 2013-01-10
  • 打赏
  • 举报
回复
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("cmsinterface.dll");
按照你这个加载DLL方法报错
冷小莫88 2013-01-10
  • 打赏
  • 举报
回复
楼主,我也碰到一个调用DLL的问题,C#里无法添加对VFP DLL的调用
billsquall 2011-01-30
  • 打赏
  • 举报
回复
DLL都是project生成的吧?你说的传参数,是说调用dll中的函数的时候传参数吧,就跟平常一样啊
QEVXWYQD 2011-01-30
  • 打赏
  • 举报
回复
举个例子:
MyDLL.dll中有个接口:
bool Function(int param);

则在C#中应该:
Using System.Runtime.InteropServices;

[DllImport("MyDLL.dll")]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool Function(int param);

还有很多需要注意的地方。可以互相交流,最近我也在做相关的东西。
bsxbsx 2011-01-30
  • 打赏
  • 举报
回复
我已经找到解决方案了

代码如下:也给几位参考一下 呵呵

object obj = null;
string className = "Lodic.Job.PrintDepotInOutHist";
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("PrintDepotInOutHist.dll");
obj = assembly.CreateInstance(className);
// 传递给DLL的参数strConnection, strSavePath, strJobId
System.Type type = obj.GetType();
System.Reflection.MethodInfo member = type.GetMethod("DoJob");
member.GetType();
// JobBean是自己的实体Bean
Job.JobBean jobBean = new JobBean(string strConnection,string strSavePath, string strJobId)
{
BizDBConnection = null,
LogDbConnection =null,
CustomerFilePath = null,
JobID = null,
JobStatus =null
};
member.Invoke(obj, new object [] { jobBean});

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧