Pirmkārt, mums ir jāiekapsulē dll un jāizveido klases bibliotēka saskaņā ar VS2008, kods ir šāds: izmantojot Sistēmu; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot Sistēmu; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot System.Text; Nosaukumvietas DLL
{ publiskās klases addclass { publiskais statiskais Int32 pievienot (Int32 i, Int32 j) { atgriešanās i + j; } }
}
Kompilē, lai ģenerētu dll.dll, kur klases nosaukums ir addclass un metode ir add. Pēc tam, lai izsauktu šo dll.dll galvenajā programmā, šis dll.dll jākopē galvenās programmas mapē bin\Debug. Dinamiskajai atsauces dll ir jāizmanto System.Reflection; Šī pārdomu nosaukumtelpa. Privātā spēkā neesamības pārbaude () { Assembly ass = Assembly.Load("dll"); Ielādējiet dll failu Ierakstiet tp = ass. GetType("dll.addclass"); Lai iegūtu klases nosaukumu, jāizmanto nosaukumvieta + klases nosaukums Objekts obj = Activator.CreateInstance(tp); Instances izveide MethodInfo meth = tp. GetMethod("pievienot"); Kā to iegūt int t = Convert.ToInt32( meth. Invoke(obj, jauns objekts[]{2, 3}) ); Izsaukšanas metodes izsaukšana MessageBox.Show(t.ToString()); }
Iepriekš minētā ir metode, kā dinamiski izsaukt dll, varat arī izmantot atsauces --> metodi, lai pievienotu atsauci (dll.dll) iepriekšējai ielādei un atbilstu dll nosaukuma vietas nosaukumam. izmantot. Galvenajā programmā izmantojiet int t= addclass.add(2, 3); Tas ir viss.
Sistēma.Teksts; Nosaukumvietas DLL
{ publiskās klases addclass { publiskais statiskais Int32 pievienot (Int32 i, Int32 j) { atgriešanās i + j; } }
} |