Innehållsförteckning:
Definition - Vad betyder DllImport Attribute?
DllImport Attribute är en deklarativ tagg som används i C # för att markera en klassmetod som definierad i ett externt dynamiskt länkbibliotek (DLL) snarare än i någon .NET-montering.
DllImport-attribut används vid körning för att anropa en funktion som exporteras i en extern DLL implementerad med okontrollerad kod som körs utanför kontrollen av vanligt språk runtime (CLR). Det används också för att specificera annan information som behövs när du ringer funktionen, såsom samtalskonvention, typ av konvertering av parametrar som skickas mellan hanterad och ostyrd kod, osv. Således används den för att samverka med kod i obekväma och äldre komponenter som finns i Windows DLL-filer och är skrivna i C eller C ++.
DllImport är användbart i situationer där funktionaliteten i en hanterad applikation, vars kod exekveras av CLR, endast kan utökas genom att komma åt och återanvända funktionaliteten i Win32-applikationsprogrammeringsgränssnittet (API) och andra användardefinierade, okontrollerade koder som implementeras i DLL. Detta kan spara utvecklingsinsatser och använda befintlig robust och väl testad kod utan att uppfinna hjulet på nytt i en hanterad applikation. Det behövs vanligtvis när du använder DLL-filer som inte kan skrivas om men som kan förändras.
Techopedia förklarar DllImport Attribute
Attributet DllImport är ett deklarationsdeklaration för den exporterade funktionen som ska anropas från den hanterade applikationen. Den kan inte användas för en medlemsfunktion, som kräver en instans av klass. Det anges vid designtid i kvadratiska hängslen innan deklarationen för metoden för vilken den används. Det är nödvändigt att använda strängen “extern” innan funktionsdeklarationen.
Till exempel kan attributet DllImport användas i Windows Forms-applikationen, som är ett hanterat program för att åberopa en metod för en komponentobjektmodellkomponent (vars kod inte är hanterad) för att utföra vissa beräkningar.
Den är utformad för att importera de traditionella DLL-filer som exporterar sina funktioner med den ursprungliga Windows-exportmekanismen för Windows. Det är inte avsett att använda kod i hanterad montering (som DLL), som kan refereras direkt i det hanterade applikationens projekt.
DllImport-attributet använder InteropServices för CLR, som kör samtalet från hanterad kod till ostyrd kod. Den informerar också kompilatorn om platsen för implementeringen av den använda funktionen. När den okontrollerade omslagsfunktionen med detta attribut i hanterad kod anropas och laddar CLR den nödvändiga DLL-filen. Det marshals (konverterar parametrarna enligt specifikationen) och returnerar den ostyrda koden efter exekvering, tillsammans med korrekt konvertering av parametrar.
När du använder attributet DllImport måste man vara noga med att använda rätt namn på DLL och den exporterade funktionen eftersom skrivfel kan förekomma på platser där de inte lätt kan upptäckas.
