创建一个对象,其类型为字符串参数 [英] Create an object whose type is in a string parameter
问题描述
我有一个TreeView,其中包含的节点。当一个用户点击一个节点上,对应CrystalReport文件应被创建和显示
I have a TreeView, which contains nodes. When a user clicks on a node, corresponding CrystalReport document should be created and displayed.
例如,我的节点的名称是:PeriodReport1,PeriodReport2,PeriodReport3。我CrystalReport文件被命名为相同的:PeriodReport1,PeriodReport2,PeriodReport3
For example, names of my nodes are: "PeriodReport1", "PeriodReport2", "PeriodReport3". My CrystalReport documents are named same: "PeriodReport1", "PeriodReport2", "PeriodReport3".
如何创建和显示正确类型的水晶报表文件?我可以做这样的事情:
How can I create and display right type of crystal reports document? I could do something like this:
select case reportName
case "PeriodReport1"
dim myReport as new PeriodReport1
case "PeriodReport2"
dim myReport as new PeriodReport2
...
end select
但可能有一个更好的方式来做到这一点。我可以使用反射来做到这一点?
But probably there is a nicer way to do this. Can I use reflection to do this?
推荐答案
只要报告有一个默认的构造函数paramaterless,即你可以说新的PeriodReport ...
As long as the reports have a default paramaterless constructor, i.e. you can say new PeriodReport...
Activator.CreateInstance(Type.GetType("namespace.typename"))
这篇关于创建一个对象,其类型为字符串参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!