2010-11-26 14 views
2

Considérons im ayant une application nommée AAA. Maintenant Im Chargement d'un assembly nommé BBB. L'assembly BBB a la déclaration d'événement et de délégué. Le gestionnaire de l'événement dans BBB est disponible en AAA. lors du chargement de l'ensemble BBB, j'ai besoin d'ajouter le gestionnaire pour l'événement en AAA. Chaque fois que l'événement se produit dans BBB, la méthode du gestionnaire dans AAA shoud est exécutée automatiquement. Comment accomplir ceci ..........?en utilisant System.Reflection

i comme dis dans codés 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); 

      } 

s'il vous plaît aidez-moi. Merci à l'avance

Répondre