COM exposed event and creating a delegate
===

I have a COM component which exposes events to the consumer of the component and then a third party dll the component uses which fires an event it handles. When done processing the third party event I trigger the COM exposed event to the consumer.  

	// delegate
	public delegate void RequestGetOpenTableDelegate(GetOpenTableEventArgs e);

	// interface
    [ComVisible(true)]
    [Guid("DAA7E8EE-1DB3-4129-964E-9E9985E4000B")]
    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
    public interface RequestEvents
    {
        [DispId(0x60020000)]
        void RequestGetOpenTable(GetOpenTableEventArgs e);
    }
	
	// class
	[ComVisible(true), GuidAttribute("8CE90A62-D6D8-4b2a-A9C0-21688A0CDEB8")]
    [ProgId("Connector")]
    [ClassInterface(ClassInterfaceType.AutoDual), ComSourceInterfaces(typeof(RequestEvents))]
    public class Connector
    {
		public Connector()
		{
			MyExternalDLL dll = new MyExternalDLL();
			dll.requestEvent += new MyExternalDLLEventHandler(ProcessRequest);
		}
		
        [ComVisible(false)]
		private void ProcessRequest(string xml)
		{
			// do some xml parsing
			
			// firing com exposed event
			GetOpenTableEventArgs e = new GetOpenTableEventArgs(obj);
			RequestGetOpenTable(e);
			
		}
		
		public event RequestGetOpenTableDelegate RequestGetOpenTable;
	}

When testing from the com client application the event works fine and looks like this;

	Method = {Void RequestOpenTable(Connector.CloseTableEventArgs)}
	Target = {System.__ComObject}

But when the third party dll event fires the RequestGetOpenTable delegate is null. My guess was that I would have to create the delegate...

    System.Reflection.MethodInfo method = typeof(RequestEvents).GetMethod("RequestGetOpenTable");                 
    RequestGetOpenTableDelegate dlg = (RequestGetOpenTableDelegate)Delegate.CreateDelegate(typeof(RequestGetOpenTableDelegate), method);                
    dlg.Invoke(e);

This results a binding error. How can I create the delegate so it fires in the com client application?