无法在运行时从程序集中获取方法

我正在使用以下代码在运行时加载程序集,然后获取对特定方法的引用,并在最后执行它:


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 数组中列出的方法。但是当我尝试获取方法时,它总是返回空值。


有人看到我在这里可能做错了吗?


繁星淼淼
浏览 150回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP