I am getting a
Method 'MyNameSpace.MyClass.MyMethod' not found.
when I changed a parameter of MyMethod
from Hashtable
to Dictionary<string, string>
.
The invoke call is
return = t.InvokeMember("MyMethod", (BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod), null, instance, params);
When I do
Type type = a.GetType(String.Concat(DLLName, ".MyClass"));
var methods = t.GetMethods();
methods
contains MyMethod()
so it is there.
Can anyone shed any light?
The params
are
Object[] params = new Object[11];
...
params[5] = foo.myHashtable.Cast<DictionaryEntry>().ToDictionary(d => d.Key, d => d.Value);
...
The MyMethod signature is
public MyMethodReturn MyMethod(Byte[] m, Hashtable d, Mutex mut, FileStream logFile, Hashtable t, Dictionary<string, Byte[]> fields, bool e, byte[] k, int hashCode, bool h, Byte[] mm)