У дома развитие Какво е атрибут dllimport? - определение от техопедия

Какво е атрибут dllimport? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава атрибут DllImport?

DllImport Attribute е декларативен маркер, използван в C #, за да маркира метод на клас, както е дефиниран във външна библиотека за динамична връзка (DLL), а не във всеки .NET сбор.


Атрибут DllImport се използва по време на изпълнение за извикване на функция, експортирана във външна DLL, реализирана с неуправляем код, който се изпълнява извън контрола на общото езиково изпълнение (CLR). Използва се и за уточняване на друга информация, необходима при извикване на функцията, като конвенция за извикване, вид преобразуване на параметри, предавани между управляван и неуправляем код и т.н. DLL файлове и се пише на C или C ++.


DllImport е полезен в ситуации, когато функционалността на управлявано приложение, чийто код се изпълнява от CLR, може да се разшири само чрез достъп и повторна употреба на функционалността на интерфейса за програмиране на Win32 за приложения (API) и други дефинирани от потребителя неуправляеми кодове, които се прилагат в DLL. Това може да спести усилия за разработка и да се възползва от съществуващ здрав и добре тестван код, без да се преоткрива колелото в управлявано приложение. Обикновено е необходимо, докато използвате DLL файлове, които не могат да бъдат пренаписани, но имат възможност да бъдат модифицирани.

Техопедия обяснява атрибут на DllImport

Атрибутът DllImport е декларация за деклариране на експортираната функция, която се извиква от управляваното приложение. Не може да се използва за функция-член, която изисква екземпляр от клас. Той се определя по време на проектиране в квадратни скоби преди декларирането на метода, за който се прилага. Необходимо е да се използва низът "extern" преди декларацията за функция.


Например, атрибутът DllImport може да се използва в приложението Windows Forms, което е управлявано приложение за извикване на метод на компонентния компонент на моделен обект (чийто код не се управлява) за извършване на някои изчисления.


Той е предназначен да импортира традиционните DLL файлове, които експортират функциите си, използвайки оригиналния механизъм за експортиране на DLL от Windows. Не е предназначен за използване на код в управлявания монтаж (като DLL), който може да бъде направен директно в проекта на управляваното приложение.


Атрибутът DllImport използва InteropServices на CLR, който изпълнява обаждането от управлявания код към неуправляем код. Той също така информира компилатора за мястото на изпълнение на използваната функция. Когато се извика неуправляемата обвивка с този атрибут в управлявания код, CLR локализира и зарежда необходимата DLL. Той преобразува (преобразува параметрите според спецификацията) и връща обратно неуправлявания код след изпълнение, заедно с правилното преобразуване на параметрите.


Докато използвате атрибута DllImport, трябва да се внимава да се използва правилното име на DLL и експортираната функция, тъй като може да се появят грешки в местата, където те не могат да бъдат лесно открити.

Какво е атрибут dllimport? - определение от техопедия