Search code examples
.netcominteropcom-interop

How can I invoke a static method on a .NET object over COM interop?


Is it possible to invoke a static method on a .NET Object, via COM interop?

I know I could write a wrapper class. What if I don't wanna do that?


Solution

  • No you cannot do this. COM interop communicates via objects, not types.

    Work arounds I know of ...

    • The best work around is to create a wrapper method on an instance to do the call on the type. Yes this still requires an instance so it defeats the purpose but it's you're best option.
    • Reverse PInvoke: Still requires you to pass a function pointer down to the C++ layer