
집에 가서 설치해야지... =)
태그 : Windows7


delegate int TestMethodDelegate(int a, int b);
// 리소스에서 byte[] 로 DLL을 끌어 오고...
Assembly loadAssembly = Assembly.Load(WindowsFormsApplication1.Properties.Resources.ClassLibrary1);
// Case 1. 모듈로 로드해서, 델리게이트로 바인드(?)
Module[] modules = loadAssembly.GetModules();
Type tx = modules[0].GetType("ClassLibrary1.Class1");
MethodInfo minfo = tx.GetMethod("TestMethod", BindingFlags.Public | BindingFlags.Static);
TestMethodDelegate TestMethod = (TestMethodDelegate)Delegate.CreateDelegate(typeof(TestMethodDelegate), minfo);
int testresult = TestMethod(5, 6);
// Case 2. 로드한 모듈에서 직접 Invoke
object[] parameters = { 4, 6 };
int testresult2 = (int)minfo.Invoke(minfo, parameters);
// Case 3. 어셈블리 자체에서 인스턴스 생성해서 Invoke
object instanceObject = loadAssembly.CreateInstance("ClassLibrary1.Class1");
int testresult3 = (int)instanceObject.GetType().GetMethod("TestMethod").Invoke(instanceObject, parameters);
최근 덧글