所以我正在用我的dll调用一个方法。
string sp = "dynamicmethodname";
Type TypeObj = typeof(DLLclass);
Object MyObj = Activator.CreateInstance(TypeObj);
TypeObj.InvokeMember(sp, BindingFlags.InvokeMethod | BindingFlags.Default, null, MyObj, new Object[] { gp });
如果我的方法只在我的公共课下,它将起作用。但是当我试图做这样的事情时。
public class Test {
public static class Met1{
public static void _Validate(string gp){
functions here.....
}
}
}
invokemember方法将不再到达我的_Validate方法。我想知道为什么它不再适用了。
答案 0 :(得分:0)
@Charleh所写的完整示例:
public class Test
{
public static class Met1
{
public static void _Validate(string gp)
{
Console.WriteLine(gp);
}
}
}
MethodInfo method = typeof(Test.Met1).GetMethod("_Validate");
// Or
// MethodInfo method = typeof(Test.Met1).GetMethod("_Validate", BindingFlags.Static | BindingFlags.Public);
// or
// MethodInfo method = typeof(Test.Met1).GetMethod("_Validate", BindingFlags.Static | BindingFlags.Public, null, new[] { typeof(string) }, null);
method.Invoke(null, new object[] { "Hello world " });