title: Dynamic cast of System.__ComObject
body: <p>Is is possible to cast System.__ComObject to some type, which is known only at runtime?
  I have following code </p>
  
  <pre><code>Type ComClassType = SomeDLLAssembly.GetType("ClassName");
  dynamic comClassInstance = icf2.CreateInstanceLic(null, null, ComClassType.GUID, "License string");
  //This will throw exception, because comClassInstance type is __ComObject and it does not contains ComClassMethod
  comClassInstance.ComClassMethod();
  </code></pre>
  
  <p>When I will use code bellow, it works fine, but unfortunately I cannot use InvokeMember in my code, because it would be very complicated.</p>
  
  <pre><code>ComClassType.InvokeMember("ComClassMethod", BindingFlags.InvokeMethod, null, comClassInstance, null);
  </code></pre>
  
  <p>So I would like to ask, if it is possible to cast "comClassInstance" to "ComClassType" in order to be able to call methods this way comClassInstance.ComClassMethod();</p>