您的位置:首页 > 编程语言 > C#

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

2017-04-23 15:20 190 查看
以下例子是托管下的,非托管的要用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)--反射
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: