Zuhause Entwicklung Was ist das Attribut dllimport? - Definition aus techopedia

Was ist das Attribut dllimport? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet DllImport-Attribut?

DllImport-Attribut ist ein deklaratives Tag, das in C # verwendet wird, um eine Klassenmethode als in einer externen DLL (Dynamic Link Library) und nicht in einer .NET-Assembly definiert zu kennzeichnen.


Das Attribut DllImport wird zur Laufzeit verwendet, um eine Funktion aufzurufen, die in eine externe DLL exportiert wurde, die mit nicht verwaltetem Code implementiert ist, der außerhalb der Kontrolle der Common Language Runtime (CLR) ausgeführt wird. Es wird auch verwendet, um andere Informationen anzugeben, die beim Aufrufen der Funktion benötigt werden, z. B. die Aufrufkonvention, die Art der Konvertierung von Parametern, die zwischen verwaltetem und nicht verwaltetem Code übergeben werden usw. Daher wird es verwendet, um mit Code in nicht verwalteten und älteren Komponenten in Windows zusammenzuarbeiten DLLs und ist in C oder C ++ geschrieben.


DllImport ist hilfreich in Situationen, in denen die Funktionalität einer verwalteten Anwendung, deren Code von CLR ausgeführt wird, nur erweitert werden kann, indem auf die Funktionalität der Win32-Anwendungsprogrammierschnittstelle (API) und anderer benutzerdefinierter, nicht verwalteter Codes zugegriffen und diese wiederverwendet werden in DLL. Dies kann Entwicklungsaufwand sparen und vorhandenen robusten und gut getesteten Code nutzen, ohne das Rad in einer verwalteten Anwendung neu zu erfinden. Es wird normalerweise benötigt, wenn DLLs verwendet werden, die nicht neu geschrieben werden können, jedoch geändert werden können.

Techopedia erklärt das DllImport-Attribut

Das Attribut DllImport ist eine Deklarationsanweisung für die exportierte Funktion, die von der verwalteten Anwendung aufgerufen werden soll. Es kann nicht für eine Member-Funktion verwendet werden, für die eine Instanz der Klasse erforderlich ist. Es wird zur Entwurfszeit in eckigen Klammern vor der Deklaration der Methode angegeben, für die es angewendet wird. Vor der Funktionsdeklaration muss der String „extern“ verwendet werden.


Beispielsweise kann das DllImport-Attribut in der Windows Forms-Anwendung verwendet werden, bei der es sich um eine verwaltete Anwendung handelt, um eine Methode einer Komponentenobjektmodellkomponente (deren Code nicht verwaltet wird) aufzurufen, um einige Berechnungen durchzuführen.


Es wurde entwickelt, um die traditionellen DLLs zu importieren, die ihre Funktionen mithilfe des ursprünglichen Windows-DLL-Exportmechanismus exportieren. Es ist nicht für die Verwendung von Code in verwalteten Assemblys (als DLL) vorgesehen, auf die direkt im Projekt der verwalteten Anwendung verwiesen werden kann.


Das Attribut DllImport verwendet die InteropServices der CLR, die den Aufruf von verwaltetem Code an nicht verwalteten Code ausführt. Sie informiert den Compiler auch über den Ort der Implementierung der verwendeten Funktion. Wenn die nicht verwaltete Wrapperfunktion mit diesem Attribut in verwaltetem Code aufgerufen wird, sucht und lädt die CLR die erforderliche DLL. Es marshallt (konvertiert die Parameter gemäß der Spezifikation) und gibt den nicht verwalteten Code nach der Ausführung zusammen mit der korrekten Konvertierung der Parameter zurück.


Bei der Verwendung des Attributs DllImport muss darauf geachtet werden, dass der korrekte Name der DLL und die exportierte Funktion verwendet werden, da Tippfehler an Stellen auftreten können, an denen sie nicht leicht erkannt werden können.

Was ist das Attribut dllimport? - Definition aus techopedia