sve*_*vit 2 .net vb.net reflection
我有一个TreeView,它包含节点.当用户单击某个节点时,应创建并显示相应的CrystalReport文档.
例如,我的节点的名称是:"PeriodReport1","PeriodReport2","PeriodReport3".我的CrystalReport文档命名相同:"PeriodReport1","PeriodReport2","PeriodReport3".
如何创建和显示正确类型的水晶报告文档?我可以这样做:
select case reportName
case "PeriodReport1"
dim myReport as new PeriodReport1
case "PeriodReport2"
dim myReport as new PeriodReport2
...
end select
Run Code Online (Sandbox Code Playgroud)
但可能有更好的方法来做到这一点.我可以使用反射来做到这一点吗?
只要报告有一个默认的无参数构造函数,即你可以说新的PeriodReport ...
Activator.CreateInstance(Type.GetType("namespace.typename"))
Run Code Online (Sandbox Code Playgroud)