这是我的一个类库,部分代码如下:
namespace YPSoft.TrafficBill
{
    public partial class FormTrafficBillIn : Form 
    {       
        /// <summary>
        /// 构造函数
        /// </summary>
        public FormTrafficBillIn(string billID,string state)
        {
            InitializeComponent();
            v_str_LItemID = billID;
            v_str_State = state;            MessageBox.Show("success");
        }
    }
}我现在在另一类库里通过反射来调用这个类里的窗体
我是这样写的
object[] obj = new object[] { "1","Edit"};
Assembly.Load("YPSoft.TrafficBill").CreateInstance("YPSoft.TrafficBill.FormTrafficBillIn", true, BindingFlags.Public, null, obj, null, null);程序运行时提示"未找到类型“YPSoft.TrafficBill.FormTrafficBillIn”上的构造函数。"

解决方案 »

  1.   

    BindingFlags.Public|BindingFlags.Instance
      

  2.   

    楼上的,不对的,我就是把这个参数改成BindingFlags.Defult都不行的  还是提示上述错误的我如果不传递参数就能的,不知道为什么了
      

  3.   


    // 有参数构造函数创建对象
    Assembly asm = Assembly.GetExecutingAssembly();
    Object[] parameters = new Object[2];    // 定义构造函数需要的参数
    parameters[0] = 3;
    parameters[1] = 5;Object obj = asm.CreateInstance("Reflection4.Calculator", true, BindingFlags.Default, null, parameters, null, null);