C#调用dll的简单demo(托管)

10 篇文章 1 订阅
4 篇文章 0 订阅

以下例子是托管下的,非托管的要用DllImport

1.新建一个类型为类库的工程,默认的工程名为ClassLibrary1,我这里就不改了

2.添加函数:

  public static void Hello()
  {
            Console.WriteLine("Hello World!");
   }

3.如图:


4.选择菜单栏生成->生成ClassLibrary1,然后在bin目录下的debug目录下会生成ClassLibrary1.dll与ClassLibrary1.pdb

5.创建新的win32工程,系统默认命名为ConsoleApplication1,新建工程后,把第4步生成的dll和pdb文件拷贝进ConsoleApplication1工程的bin下的debug目录下

6.在解决方案下找到项目ConsoleApplication1项目,右键弹出菜单选择添加引用,把ClassLibrary1.dll添加到引用中去

7.在Program.cs中using ClassLibrary1命名空间

8.创建对象,调用静态函数 ClassLibrary1.Class1 cla = new Class1();Class1.Hello();

9.截图如下:



10.按F5运行结果如图



---------------------------------------------------------------------------------------------

当Hello函数的访问修饰符internal时呢,由于internal是限定在ClassLibrary1程序集内的函数调用的,而ConsoleApplication1程序集怎么调用它呢,有个简单的方法:在ClassLibrary1程序集的AssemblyInfo.cs文件中添加[assembly: InternalsVisibleTo("ConsoleApplication1")],然后ConsoleApplication1又发现可以正常调用Hello函数了。


---------------------------------------------------------------------------------------------

另一种调用dll的方式是利用c#的反射,详细的demo看我的博客C#调用dll的简单demo(2)--反射


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值