有两个项目 项目A 为 DLL项目A
using System;namespace CheShidll
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public List ReceiveMoMessage(string str)
{
List li=new List();
li.Content="aaa"+str;
return li;
}
}
public class List
{
public string Content;
}
}
然后我在项目B中调用项目A
Assembly dss = Assembly.LoadFile(@"D:\net1.0\CheShidll\bin\Debug\"+filename);//读取程序集foreach (Type type in dss.GetTypes())
{
     MethodInfo m = type.GetMethod("ReceiveMoMessage");  //实例方法
     if (m != null)
     {
object o = Activator.CreateInstance(type);
List li=new List();
         li=(List)m.Invoke(o, new object[] {"1234"});
      }
}
(项目B也有List类 而且是一样的)
问题:在 li=(List)m.Invoke(o, new object[] {"1234"});这句
提示:指定的转换无效。请问我应该怎么解决这个问题?
(当我在DLL里返回string类型,用string s=(List)m.Invoke(o, new object[] {"1234"});调用时就没问题)