本文介绍了为什么要使用DllImport属性的结合在添加引用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我见过几个象这样的例子:

 函数[DllImport(user32.dll中)] 
上配置静态的extern BOOL的TranslateMessage([IN]参考消息LPMSG);

函数[DllImport(user32.dll中)]
静态外部的IntPtr在DispatchMessage([IN]参考消息LPMSG);



不过,我不明白的是为什么会有人做,因为并列只是引用的DLL像他们这样做其他图书馆? MSDN的指出:在重复使用托管应用程序的现有非托管代码时,DllImport属性是非常有用的,例如,您的托管应用程序可能需要对非托管WIN32 API调用。但是,是说它不是引用一个非托管的DLL或无法以其他方式?


有用
解决方案

Yes, exactly so. What you're thinking of as 'referencing a DLL' is actually 'referencing a .NET assembly' - it just so happens that the most common way of packaging the kind of assemblies one tends to reference is in a DLL.

DLLImport is entirely about importing 'traditional DLLs' - i.e. ones which export all their methods using the original Windows DLL export mechanism.

Think of DLLImport as actually being called 'UnmanagedImport', and things might be clearer.

这篇关于为什么要使用DllImport属性的结合在添加引用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 00:17