> The problem with InvokeMember is that it's a lot of work to > use for possibly hundreds of different methods calls.
I take this to mean that you'd rather have clients doing this: IXyz x = ... x.DoSomething(); rather than this: typeof( IXyz ).InvokeMember( "DoSomething", ... ); Correct? The former example is definitely early-bound (vtable based) while the latter example is late-bound through the IDispatch interface. Have you looked at my Interposer example [1], yet? It may be just what you're looking for -- giving your clients an early bound view while doing late binding under the covers. [1] http://www.gotdotnet.com/userarea/filedetails.aspx?FileName=Interposer.zip You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.