Activator.CreateInstance实例化类时,如果构造器中有Ref参数,怎样设置?网上没找到,哪位知道,请赐教

解决方案 »

  1.   

    System.Reflection.Assembly  CreateInstance方法有重载传参的,你直接ref传试下  
      

  2.   

    已经解决,给后其他遇到此问题的人一个提醒,不需要任何设置!
    '类定义
    Class Class1
    '构造器
    Public Sub New(Byref handle as Class2)
            Dim handle As handle = new Class2()
        End Sub
    End Class
    //动态实例化
    //装箱,创建构造器参数
    Dim args As Object() = {handle}
    //实例化
    Dim obj As Object = Activator.CreateInstance(typeof(Class1), args)上面语句执行完后,你会发现,handle!=args[0],安装我们的思路,这里应该是引用地址,但是这里不是。
    问题应该在ref,我这样认为:
    没有调用CreateInstance之前,args[0],handle指向相同地址,但是在调用了有ref的函数后,args[0]指向了返回的ref参数的地址,而handle依然指向原来的地址。个人想法,没有推敲
      

  3.   

    args是object()
    问题在于object(0)和object(1)是否可以一个byref,一个byval
      

  4.   

    Class2是什么东西, 如果传进来的是值类型怎么处理?