Reflection getting MissingMethodException

B

brian.gabriel

I am trying to use reflection to dynamically call a method. I have an
"interface" object that is inherited by the object that I am trying to
invoke. The interface object contains virtual methods that throw a
custom NotImplemented exception. The actual class overrides these
methods, the end goal is to loop through each method to see which ones
throw the NotImplemented exception.

Here is the code that I am using to dynamically invoke to method:

Type InterfaceType = typeof(Interfaces.MainInterface);
System.Runtime.Remoting.ObjectHandle hobj = null;
object[] arguments = new object[0];

hobj =
Activator.CreateInstance("Interfaces.MainClass1","Interfaces.MainClass1");
object result = InterfaceType
..InvokeMember("myMethod",BindingFlags.Instance|BindingFlags.Public|BindingFlags.InvokeMethod,null,hobj,arguments);

When I run the code I get a MissingMethodException exception saying it
can find method Interfaces.MainClass1.myMethod

Everything looks clean, any thoughts?

Thanks,

Brian
(e-mail address removed)
 
D

Dmytro Lapshyn [MVP]

Hi Brian,

I am not sure InvokeMember can accept object handles. Can you please try
CreateInstanceAndUnwrap to get a real object reference and then supply the
obtained reference to InvokeMember instead of the "hobj" handle?
 
B

brian.gabriel

I tried unwrapping the object and passing the actual reference, no
luck.

Thanks,

Brian
(e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top