我想在WindowsApp中动态引用自己已经创建好的用户控件Dll,然后添加到Controls中
Assembly   ass;                          
ass  =  Assembly.LoadFile("WindowsControlLibrary4.dll");
WindowsControlLibrary4.UserControl1 user = new WindowsControlLibrary4.UserControl1();但是这段代码出错,请问正确的应该如何?

解决方案 »

  1.   

    Assembly   ass;                          
    ass  =  Assembly.LoadFile("WindowsControlLibrary4.dll");
    Type t=ass.GetType("NameSpace.ClassName");
    调用静态方法如下:
    String strReturn=(String)t.InvokeMember("方法名",BindingFlags.Declaredonly|BindingFlags.public|BindingFlags.static|BindingFlags.InokeMethod,null,null,new object[]{方法所需要的参数});
    调用非静态方法如下:
    Object obj=t.InvokeMember(null,BindingFlags.Declardonly|BindingFlags.public|BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.CreatInstance,null,null,null);strRetur=(string)t.InvokeMember("方法名",BindingFlags.Declaredonly|BindingFlags.public|BindingFlags.Nonpulbic|BindingFlags.Instance|BindingFlags.InvokeMethod,null,obj,new object[]{方法参数});