Taula de continguts:
Definició: què significa DllImport Attribute?
DllImport Attribute és una etiqueta declarativa usada a C # per marcar un mètode de classe com a definit en una biblioteca d’enllaç dinàmic extern (DLL) en lloc de qualsevol conjunt .NET.
L'atribut DllImport s'utilitza en temps d'execució per trucar a una funció exportada en una DLL externa implementada amb codi no gestionat que s'executa fora del control del llenguatge de llenguatge comú (CLR). També s'utilitza per especificar altra informació necessària mentre es truca a la funció com ara trucar a convenció, tipus de conversió de paràmetres passats entre codi gestionat i no gestionat, etc. Així, s'utilitza per interoperar amb el codi en components no gestionats i heretats que resideixen a Windows. DLL i està escrit en C o C ++.
DllImport és útil en situacions en què la funcionalitat d’una aplicació gestionada, el codi del qual és executat per CLR, només es pot ampliar accedint i reutilitzant la funcionalitat de l’interfície de programació d’aplicació Win32 (API) i altres codis no gestionats definits per l’usuari que s’implementen. a DLL. Això pot estalviar esforços de desenvolupament i fer ús del codi robust i ben provat existent sense reinventar la roda en una aplicació gestionada. Normalment es necessita mentre s’utilitzen DLL que no es poden reescriure, però que poden ser modificades.
Techopedia explica DllImport Attribute
L'atribut DllImport és una declaració de declaració de la funció exportada que s'ha de cridar des de l'aplicació gestionada. No es pot utilitzar per a una funció de membre, que requereix una instància de classe. S'especifica a l'hora de disseny entre claudàtors abans de la declaració del mètode pel qual s'aplica. Cal utilitzar la cadena "extern" abans de la declaració de funcions.
Per exemple, l’atribut DllImport es pot utilitzar a l’aplicació Windows Forms, que és una aplicació gestionada per invocar un mètode d’un model de model d’objecte component (el codi del qual no està gestionat) per realitzar alguns càlculs.
Està dissenyat per importar les DLL tradicionals que exporten les seves funcions mitjançant el mecanisme d’exportació Windows DLL original. No està pensat per utilitzar codi en un muntatge gestionat (com a DLL), al qual es pot fer referència directament al projecte de l'aplicació gestionada.
L'atribut DllImport utilitza els InteropServices del CLR, que executa la trucada des del codi gestionat fins al codi no gestionat. També informa el compilador sobre la ubicació de la implementació de la funció utilitzada. Quan s'anomena la funció d'embolcall no gestionat amb aquest atribut en codi gestionat, el CLR localitza i carrega la DLL necessària. Avalla (converteix els paràmetres segons l’especificació) i retorna el codi no gestionat després de l’execució, juntament amb la conversió adequada de paràmetres.
Mentre s’utilitza l’atribut DllImport, cal tenir cura d’utilitzar el nom correcte de la DLL i de la funció exportada, perquè es poden produir draps en llocs on no es poden detectar fàcilment.