Kazalo:
Opredelitev - Kaj pomeni atribut DllImport?
Atribut DllImport je deklarativna oznaka, ki se uporablja v C # za označevanje metode razreda, kot je definirana v zunanji knjižnici dinamičnih povezav (DLL) in ne v kateri koli sestavi .NET.
Atribut DllImport se med izvajanjem uporablja za klic funkcije, izvožene v zunanjem DLL-ju, ki se izvaja z nenadzorovano kodo, ki se izvaja zunaj nadzora izvajanja običajnega jezika (CLR). Uporablja se tudi za določanje drugih informacij, potrebnih med klicanjem funkcije, kot so konvencija klica, vrsta pretvorbe parametrov, ki so bili preneseni med upravljano in nenadzorovano kodo itd. Tako se uporablja za interakcijo s kodo v nenadzorovanih in zapuščenih komponentah, ki prebivajo v sistemu Windows DLL-ji in je zapisan v C ali C ++.
DllImport je koristen v primerih, ko je mogoče funkcionalnost upravljane aplikacije, katere kodo izvrši CLR, razširiti le z dostopom in ponovno uporabo funkcionalnosti programskega vmesnika (API) programa Win32 in drugih uporabniško določenih, nenadzorovanih kod, ki se izvajajo v DLL. S tem lahko prihranite razvojna prizadevanja in uporabite obstoječo robustno in dobro preizkušeno kodo, ne da bi ponovno upravljali kolo v upravljani aplikaciji. Običajno je potreben med uporabo DLL-jev, ki jih ni mogoče ponovno napisati, vendar jih je mogoče spremeniti.
Techopedia razlaga atribute DllImport
Atribut DllImport je izjava deklaracije za izvoženo funkcijo, ki jo je treba poklicati iz upravljane aplikacije. Ni ga mogoče uporabiti za funkcijo člana, ki zahteva primerek razreda. Določen je v času načrtovanja v kvadratnih naramnicah pred deklaracijo metode, za katero se uporablja. Pred deklaracijo funkcije je treba uporabiti niz "extern".
Na primer, atribut DllImport je mogoče uporabiti v aplikaciji Windows Forms, ki je upravljana aplikacija, da za izvedbo nekaterih izračunov prikliče metodo sestavnega dela komponentnega modela objekta (katerega koda ni upravljana).
Zasnovan je za uvoz tradicionalnih DLL-jev, ki svoje funkcije izvozijo z izvirnim izvoznim mehanizmom Windows DLL. Ni namenjena uporabi kode v upravljani sestavi (kot DLL), na katero se lahko sklicuje neposredno v projektu upravljane aplikacije.
Atribut DllImport uporablja InteropServices CLR, ki izvede klic iz upravljane kode v nenadzorovano kodo. Prevajalca seznani tudi z lokacijo izvajanja uporabljene funkcije. Ko se pokliče funkcija nenadzorovanega ovoja s tem atributom v upravljani kodi, CLR poišče in naloži potrebno DLL. To nadomešča (pretvori parametre po specifikacijah) in po izvedbi vrne nenadzorovano kodo, skupaj s pravilno pretvorbo parametrov.
Medtem ko uporabljate atribut DllImport, je treba paziti, da uporabite pravilno ime DLL in izvoženo funkcijo, ker se na napačnih mestih, kjer jih ni mogoče enostavno zaznati, pojavijo tipkarske napake.








