title: raising a vb6 event using interop
body: <p>I have a legacy VB6 component that I've imported into VS using tlbimp.exe to generate my interop assembly. The VB6 component defines an event that allows me to pass messages within VB6.</p>
  
  <pre><code>Public Event Message(ByVal iMsg As Variant, oCancel As Variant)
  </code></pre>
  
  <p>I would really like to be able to raise this even in my C# program, but its getting imported as an event, not a delegate or something else useful. So, I can only listen, but never fire. Does anyone know how to fire an event contained within VB6? The C# event looks like</p>
  
  <pre><code>[TypeLibType(16)]
  [ComVisible(false)]
   public interface __MyObj_Event
   {
       event __MyObj_MessageEventHandler Message;
   }
  </code></pre>
  
  <p>I unfortunately cannot change the VB6 code. Thanks.</p>