Najpierw musimy zahalić dll i stworzyć bibliotekę klas w VS2008, a kod jest następujący: z wykorzystaniem System; używając System.Collections.Generic; używając System.Linq; używając System; używając System.Collections.Generic; używając System.Linq; używając System.Text; Przestrzeń nazw DLL
{ Klasa addclass klasy publicznej { publiczne statyczne dodawanie Int32 (Int32 i, Int32 j) { return i + j; } }
}
Kompiluj, aby wygenerować dll.dll, gdzie nazwa klasy to addclass, a metoda to add. Następnie, aby wywołać ten dll.dll w głównym programie, musisz skopiować ten dll.dll do folderu bin\Debug głównego programu. Dynamiczne odniesienie dll wymaga użycia System.Reflection; Ta przestrzeń nazw odbici. Private void test() { Assembly ass = Assembly.Load("dll"); Załaduj plik dll Typ tp = dupa. GetType("dll.addclass"); Aby uzyskać nazwę klasy, musisz użyć przestrzeni nazw + nazwa klasy Object obj = Activator.CreateInstance(tp); Ustal instancję MethodInfo metamfetamina = tp. GetMethod("add"); Jak to zdobyć int t = Convert.ToInt32( meth. Invoke(obj, new Object[]{2, 3}) ); Metoda wywołania MessageBox.Show(t.ToString()); }
Powyższa metoda to metoda dynamicznego wywoływania dll, możesz też użyć metody referencyjnej --> do dodania referencji (dll.dll) do wstępnego załadowania i dopasować nazwę przestrzeni nazw używającej dll. do użycia. W głównym programie używamy int t= addclass.add(2, 3); To wszystko.
System.Text; Przestrzeń nazw DLL
{ Klasa addclass klasy publicznej { publiczne statyczne dodawanie Int32 (Int32 i, Int32 j) { return i + j; } }
} |