创建一个对象,其类型为字符串参数 [英] Create an object whose type is in a string parameter

查看:122
本文介绍了创建一个对象,其类型为字符串参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆