只需要知道类名字,就可以动态创建类对象。 '1、关于定义 Object类型 的访问
Dim a As Object = Activator.CreateInstance(Type.GetType("项目名.类名"))
'调用方法 InvokeMethod
a.GetType().InvokeMember("方法名", System.Reflection.BindingFlags.InvokeMethod, Nothing, a, New Object() {"参数"})
'设置属性 SetProperty
a.GetType().InvokeMember("属性名", System.Reflection.BindingFlags.SetProperty, Nothing, a, New Object() {"参数"})
'获取属性 GetProperty
Dim str As Object = a.GetType().InvokeMember("属性名", System.Reflection.BindingFlags.GetProperty, Nothing, a, New Object() {})
'获取属性和设置属性的其他方法
Dim MyProperty As Reflection.PropertyInfo = a.GetType().GetProperty("属性名")
MyProperty.SetValue(a, "Object值", Nothing)
Dim objReturn() As Object = {}
MyProperty.GetValue(a, objReturn)
'2、对已知类型的访问
Dim aa As Form = Activator.CreateInstance(Type.GetType("项目名.类名"))
aa.Text = "标题"
'设置属性
aa.ShowDialog()
'调用方法
'3、跨程序集的访问
Dim aa As Object = Reflection.Assembly.Load("程序集").CreateInstance("项目名.类名")
Dim aa As Object =Activator.CreateInstance(Type.GetType("项目名.类名,程序集"))