Pirma, mes turime kapsuliuoti dll ir sukurti klasės biblioteką pagal VS2008, kodas yra toks: naudojantis Sistema; naudojant System.Collections.Generic; naudojant System.Linq; naudojant Sistemą; naudojant System.Collections.Generic; naudojant System.Linq; naudojant System.Text; vardų srities dll
{ Viešoji klasė addclass { viešasis statinis Int32 add(Int32 i, Int32 j) { grąžinti i + j; } }
}
Kompiliuoti, kad sugeneruotumėte dll.dll, kur klasės pavadinimas yra addclass, o metodas yra add. Tada, norėdami iškviesti šį dll.dll pagrindinėje programoje, turite nukopijuoti šį dll.dll į pagrindinės programos aplanką bin\Debug. Dinaminės nuorodos dll reikia naudoti System.Reflection; Ši atspindžio vardų sritis. Privatus tuštumos testas() { Assembly ass = Assembly.Load("dll"); Įkelti dll failą Įveskite tp = asilas. GetType("dll.addclass"); Norėdami gauti klasės pavadinimą, turite naudoti vardų sritį + klasės pavadinimą Objektas obj = Activator.CreateInstance(tp); Egzemplioriaus nustatymas MethodInfo meth = tp. GetMethod("pridėti"); Kaip jį gauti int t = Convert.ToInt32( meth. Invoke(obj, naujas objektas[]{2, 3}) ); Iškviesti skambinimo būdą MessageBox.Show(t.ToString()); }
Aukščiau pateiktas metodas dinamiškai iškviesti dll, taip pat galite naudoti nuorodą --> metodą, kad pridėtumėte nuorodą (dll.dll) išankstiniam įkėlimui ir atitiktumėte vardų srities pavadinimą naudojant dll. naudoti. Pagrindinėje programoje naudokite int t= addclass.add(2, 3); Viskas.
Sistema.Tekstas; vardų srities dll
{ Viešoji klasė addclass { viešasis statinis Int32 add(Int32 i, Int32 j) { grąžinti i + j; } }
} |