2
讓我們考慮一下名爲AAA的應用程序。 Now Im正在加載名爲BBB的程序集。程序集BBB正在進行事件和代表的聲明。 BBB中的事件處理程序在AAA中可用。當加載程序集BBB時,我需要在AAA中添加事件的處理程序。 每當事件發生在BBB中時,AAA中的處理程序方法就會自動執行。 如何完成這個..........?using System.Reflection
我編碼方式類似於DIS在AAA
Assembly tstComponent = Assembly.LoadFile(BBB);
Type Global = tstComponent.GetType(ClassInBBB, false, true);
if (Global != null)
{
EventInfo l_objevent = Global.GetEvent("OnGetdelInBBB");
Type l_objEveType = l_objevent.EventHandlerType;
Type Dis = Assembly.GetExecutingAssembly().GetType("AAA", false, true);
MethodInfo l_method = Dis.GetMethod("HandlerinAAA");
Delegate d = Delegate.CreateDelegate(l_objEveType, l_method);//Getting argument bind exception in this line
MethodInfo addHandler = l_objevent.GetAddMethod();
Object[] addHandlerArgs = { d };
addHandler.Invoke(Dis, addHandlerArgs);
}
請幫助我。在此先感謝