我正在使用以下代码在运行时加载程序集,然后获取对特定方法的引用,并在最后执行它:
var assemblyLoaded = Assembly.LoadFile(absolutePath);
var type = assemblyLoaded.GetType("CreateContactPlugin.Plugin");
var instance = Activator.CreateInstance(type);
var methodInfo = type.GetMethod("Execute", new Type[] { typeof(System.String)});
if (methodInfo == null)
{
throw new Exception("No such method exists.");
}
这是我正在调用的程序集
namespace CreateContactPlugin
{
public class Plugin
{
static bool Execute(string contactName){
bool contactCreated = false;
if (!String.IsNullOrWhiteSpace(contactName))
{
//process
}
return contactCreated;
}
}
}
我可以成功加载程序集,类型。当我突出显示类型变量时,我会看到 DeclaredMethods 数组中列出的方法。但是当我尝试获取方法时,它总是返回空值。
有人看到我在这里可能做错了吗?
相关分类