·When you use reflection to load and run assemblies, you cannot use language features like the C# += operator or the Visual Basic AddHandler statement to hook up events. This MSDN document (http://msdn.microsoft.com/en-us/library/ms228976.aspx) shows how to link an existing method to an event by getting all the necessary types through reflection and how to create a dynamic method using reflection emit and link it to an event.
A sample:
1: // Load an assembly, for example using the Assembly.Load
2: // method. In this case, the executing assembly is loaded, to
3: // keep the demonstration simple.
4: //
   5:          Assembly assem = Assembly.GetExecutingAssembly();   6:   7: // Get the type that is to be loaded, and create an instance
8: // of it. Activator.CreateInstance has other overloads, if
9: // the type lacks a default constructor. The new instance
10: // is stored as type Object, to maintain the fiction that
11: // nothing is known about the assembly. (Note that you can
12: // get the types in an assembly without knowing their names
13: // in advance.)
14: //
15: Type tExForm = assem.GetType("ExampleForm");
  16:          Object exFormAsObj = Activator.CreateInstance(tExForm);  17:   18: // Get an EventInfo representing the Click event, and get the
19: // type of delegate that handles the event.
20: //
21: EventInfo evClick = tExForm.GetEvent("Click");
  22:          Type tDelegate = evClick.EventHandlerType;  23:   24: // If you already have a method with the correct signature,
25: // you can simply get a MethodInfo for it.
26: //
  27:          MethodInfo miHandler = 28: typeof(Example).GetMethod("LuckyHandler",
  29:                  BindingFlags.NonPublic | BindingFlags.Instance);  30:              31: // Create an instance of the delegate. Using the overloads
32: // of CreateDelegate that take MethodInfo is recommended.
33: //
34: Delegate d = Delegate.CreateDelegate(tDelegate, this, miHandler);
  35:   36: // Get the "add" accessor of the event and invoke it late-
37: // bound, passing in the delegate instance. This is equivalent
38: // to using the += operator in C#, or AddHandler in Visual
39: // Basic. The instance on which the "add" accessor is invoked
40: // is the form; the arguments must be passed as an array.
41: //
  42:          MethodInfo addHandler = evClick.GetAddMethod();  43:          Object[] addHandlerArgs = { d };  44:          addHandler.Invoke(exFormAsObj, addHandlerArgs);Some related links:
- Using Reflection to link to event with custom handler (http://social.msdn.microsoft.com/forums/en/netfxbcl/thread/c083a0fd-9338-4f92-b6d4-4109096bfc5f/)
 - c# reflection: problem subscribing to event(http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/d7f184f1-0964-412a-8659-6759a0e2db83/)
 - Raising an event via reflection(http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/44b0d573-5c53-47b0-8e85-6056cbae95b0)
 - Event Handling using Reflection(http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/1ead5b74-3d2f-41e0-b699-1f35e16305ec/)