我有一個問題,試圖動態調用我的課程。這是我的示例代碼:如何動態調用一個類並使用它的函數?
類:
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
。我該如何解決這個問題?
嘗試,在你的dynamicExecution方法中:'assembly.GetTypes()。where(m => m.Name ==「UseCase11」)。Select(x => x.FullName).FirstOrDefault();'看看是否你在正確的程序集中,並寫出正確的類型全名。 –
plz幫我關於你的代碼,我在這裏添加了這段代碼,而你的代碼中的whate是WHERE?!! –
把它放在你的dynamicExecution方法中(用'var test =;')。我沒有得到任何測試結果,這是一個組裝問題。如果您有結果,請參閱測試的值。 –