C# 中如何调用DLL文件(分两种情况,托管与非托管)

C# 中如何调用DLL文件?

2010-11-28 08:46 yanghao717    分类:C#/.NET  |  浏览 14452 次
  C# 编程
我在网上找了好久都没看明白,所以来这里请教高手们了,比如我将一个y.cs这个文件编译成y.dll放在 D:\ 下,y.dll文件中有一个print()方法。现在,我新建一个类x.cs,我要在这个类里调用y.dll,请问有几种方法?哪种最简单?请给我代码,谢谢!
还有一点,要将DLL文件放到bin目录里吗?如果不手动的复制过来,在打包成安装文件的时候它会自动的复制过来吗?新手,问题有点多,谢谢了!
11-28 09:13
楼主你的标题有误导人的嫌疑呀。呵呵
我帮你解释一下吧,你这里的调用dll用词不准
在。net平台上,调用dll文件有2种含义
1、调用托管dll,即你使用。net平台开发的dll,属于托管代码
2、调用非托管dll,即传统的dll,一般是C++,VB,DELPHI等等开发出来的,属于非托管代码。
从你的意思中看出来你现在是调用托管的dll,方法是 “在解决方案管理器” - “解决方案”(或项目) 中的任意地方, 右键“添加引用”,“浏览”,选择你需要调用的dll文件,确定即可,该dll会自动复制到bin目录,打包时也会自动复制到你发布的地方。
添加完了引用,现在如何调用呢?

如果有命名空间则引入命名空间,比如你的y。dll里面,是a命名空间,有一个b类,然后有一个无参数静态方法c
那么调用方法就是a.b.c(),跟你普通的使用类是一样的

然后是非托管dll
需要添加dll的名称,以及方法,也就是你所用到的dll的每个方法都需要添加一次,
[DllImport("msvcrt.dll")]    
public static extern int puts(string c);

你这点分数对不住我一个一个敲出来的字啊。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值