(BaseClass)Assembly.Load("BLL").CreateInstance("BLL.CashRebate", false, BindingFlags.Default, null,args,null,null)直接这样来做,其中args是object[]...若要事例化得类的构造函数有2参数,那么应该是object[2]
问题是如果我构造函数的参数是int型或别的,而不是string型,那么编译时理所当然的会出错,事实也告诉我会出错....
这时候就是说构造函数的参数不是string的时候我如何用反射事例化该类...参数该怎么传?PS:强制类型转化时不对的,createinstance的构造函数那里定义为onject[]...O(∩_∩)O~有理解的跟我解释下吧,越仔细越好~小菜...

解决方案 »

  1.   

    .Net 4.0据说要出动态编译,这种反射创建构造函数就没意义了。
      

  2.   

    我不太明白你的意思.我试了一下这是要反射的类,其中有一个构造函数,带两个int类型的参数namespace Game.Engine.Data
    {
        public class NodeData
        {
            public NodeData(int a, int b)
            {        }
        }
    }然后我执行object[] args = new object[] { 1, 2 };
            Assembly.Load("Game.Engine.Data").CreateInstance("Game.Engine.Data.NodeData", false, BindingFlags.Default, null, args, null, null);经调试,能够进入该构造函数中