VB.NET Activator.CreateInstance

                  只需要知道类名字,就可以动态创建类对象。 
'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("项目名.类名,程序集"))

                                      2013-03-27

posted on 2013-03-27 11:42  又欠  阅读(492)  评论(0编辑  收藏  举报

导航