Esiteks peame kapseldama dll-i ja looma klassiteegi VS2008 all, kood on järgmine: kasutades süsteemi; kasutades System.Collections.Generic; kasutades System.Linq'i; kasutades Systemi; kasutades System.Collections.Generic; kasutades System.Linq'i; kasutades System.Texti; Nimeruum DLL
{ Avalik klass AddClass { public static Int32 add(Int32 i, Int32 j) { return i + j; } }
}
Kompileeri, et genereerida dll.dll, kus klassi nimi on addclass ja meetod on add. Järgmisena, et seda dll.dll peaprogrammis kutsuda, tuleb see dll.dll kopeerida peaprogrammi bin\Debug kausta. Dünaamiline viite-dll nõuab System.Reflectioni kasutamist; See peegeldusnimede ruum. privaatse tühjuse test() { Assembly ass = Assembly.Load("dll"); Laadi dll fail Tüüp tp = ass. GetType("dll.addclass"); Klassi nime saamiseks tuleb kasutada nimeruumi + klassi nime Object obj = Activator.CreateInstance(tp); Loo instants MethodInfo metamfetamiin = tp. GetMethod ("lisa"); Kuidas seda saada int t = Convert.ToInt32( met. Invoke(obj, new Object[]{2, 3}) ); Kutsu kutsumise meetod MessageBox.Show(t.ToString()); }
Ülaltoodud meetod on dünaamiline dll-i kutsumise meetod, samuti saab kasutada viite --> meetodit, et lisada viide (dll.dll) eellaadimiseks ja sobitada dll-i nimeruumi nime. kasutada. Põhiprogrammis kasuta int t= addclass.add(2, 3); See ongi kõik.
System.Text; Nimeruum DLL
{ Avalik klass AddClass { public static Int32 add(Int32 i, Int32 j) { return i + j; } }
} |