0

这是我在 C# DLL 中的类

namespace MyNS
{
    public class MyClass
    {
        public static int Execute(string logKey, 
                                  string key, 
                                  XmlNode xmlPars)
        {
            return 0
        }
    }
}

我在运行时加载 DLL 并将 Class Type 加载到 _type 变量中。但是当我从这样的 Windows 服务调用函数 Execute 时:

counter = (int)_type.InvokeMember("Execute", 
                                  BindingFlags.Public |
                                  BindingFlags.InvokeMethod | 
                                  BindingFlags.Static, 
                                  null, 
                                  null, 
                                  new object[] { 
                                                  logKey, 
                                                  Key, 
                                                  _xmlParams 
                                                });

我得到“异常已被调用的目标抛出。”
我在这里做错了什么?

4

1 回答 1

1

你是如何加载DLL的,你能分享动态加载dll的代码吗?

这是示例代码。

Assembly assembly = Assembly.LoadFrom("ABC.dll");
object o = Activator.CreateInstance(assembly.GetType("ClassName"));
/// then invoke the method
于 2012-12-19T07:45:42.967 回答