调用端:
string filepath = @"E:\VS2005\DataCollector\DataCollector\Components\DataAnalyzer.dll";
String test = "分析中";
Assembly myDllAssembly = Assembly.LoadFrom(filepath);
Type dllType = myDllAssembly.GetType("DataAnalyzer.Goodoon");
if (dllType!=null)
{
    MethodInfo mi = dllType.GetMethod("kkk");
    String nnn = (String)mi.Invoke(dllType, null);  <----出错,TargetException 
    Console.WriteLine(nnn);
}
在DLL那边:
public String kkk()
{
    String teststr = "abc";
    return teststr;
}
在出错行那里提示:对象与目标类型不匹配,TargetException 请问何解?谢谢

解决方案 »

  1.   

    if (dllType!=null)
    {
        MethodInfo mi = dllType.GetMethod("kkk");
        object o=Activator.CreateInstance(dllType);
        String nnn = (String)mi.Invoke(o, null);     
        Console.WriteLine(nnn);
    }
    改成这样试试.
      

  2.   

    to Jinwmmail在object那行出错,显示为:没有为该对象定义无参数的构造函数。MissingMethodException我的DLL中的类的构造函数是有参数输入进去的,请问应该怎样处理?谢谢如果把构造函数的参数去掉后,就可以了
      

  3.   

    在DLL那边显式加个无参数构造函数试试.