1

我在尝试动态调用我的类时遇到问题。这是我的示例代码:

班级:

namespace TestUseCase
{
    public class UseCase11
    {
        public UseCase11()
        {
        }

        public string init()
        {
            return "aa.aspx";
        }
    }
}

调用类的方法:

private void dynamicExecution(string ClassName, string FunctionName)
{
    System.Reflection.Assembly assembly = System.Reflection.Assembly.GetEntryAssembly();
    Object[] para = new Object[1];
    para[0] = null;
    object dynMyClass = assembly.CreateInstance(ClassName);
    dynMyClass.GetType().GetMethod(FunctionName).Invoke(dynMyClass, para);
}   

用法:

    dynamicExecution("TestUseCase.UseCase11", "init");

不幸的是,结果总是null. 我该如何解决这个问题?

4

1 回答 1

0

确保您尝试实例化的类在正确的程序集中声明。在您的示例中,您使用Assembly.GetEntryAssembly()的是正确的程序集吗?如果该类与您显示的代码在同一程序集中定义,您也可以使用Assembly.GetExecutingAssembly().

于 2012-09-10T07:57:33.000 回答