Първо, трябва да капсулираме dll и да създадем библиотека с класове под VS2008, кодът е следният: използвайки System; използвайки System.Collections.Generic; използвайки System.Linq; използвайки System; използвайки System.Collections.Generic; използвайки System.Linq; използвайки System.Text; Namespace DLL
{ Публичен клас ADDCLASS { публичен статичен Int32 add(Int32 i, Int32 j) { return i + j; } }
}
Компилирайте, за да генерирате dll.dll, където името на класа е addclass, а методът е add. След това, за да извикаш този dll.dll в основната програма, трябва да копираш този dll.dll в папката bin\Debug на основната програма. Динамичният референтен dll изисква използване на System.Reflection; Това пространство за отражение. Частен тест за невалидност() { Assembly ass = Assembly.Load("dll"); Заредете dll файла Тип tp = задник. GetType("dll.addclass"); За да получите името на класа, трябва да използвате namespace + име на клас Object obj = Activator.CreateInstance(tp); Установете инстанция MethodInfo мет = tp. GetMethod ("добавям"); Как да го получите int t = Convert.ToInt32( мет. Invoke(obj, new Object[]{2, 3}) ); Метод за извикване MessageBox.Show(t.ToString()); }
Горният е методът за динамично извикване на dll, можете също да използвате метода --->, за да добавите референция (dll.dll) за предварително зареждане и да съпоставите името на пространството от имена на използващия dll. да използваш. В основната програма използвайте int t= addclass.add(2, 3); Това е всичко.
System.Text; Namespace DLL
{ Публичен клас ADDCLASS { публичен статичен Int32 add(Int32 i, Int32 j) { return i + j; } }
} |