views:

195

answers:

1

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?

+5  A: 

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
JaredPar
I could probably do this pretty simply with .NET 4.0 an the DLR magic, eh?
Cheeso
@Cheeso, not really. Based on your problem statement it appears you are trying to find a solution to call from native -> managed code. The DLR would only help a scenario where you were starting in managed code.
JaredPar
ah, I have to learn more about it. I thought there was some magic Javascript-to-CLR integration coming.
Cheeso