有没有办法根据我在运行时知道类的名称来创建类的实例.基本上我会在字符串中有类的名称.
我有一个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)
但可能有更好的方法来做到这一点.我可以使用反射来做到这一点吗?
所以当我创建一个对象时,我会使用类似的东西:
Object objectName = new Object();
Run Code Online (Sandbox Code Playgroud)
我得到一个对象,我可以在调用像这样的方法时将其称为objectName
objectName.method(parameter);
Run Code Online (Sandbox Code Playgroud)
但是如何创建它以便我可以使用字符串中的名称创建一个可以引用的对象,例如:
string objectName = "myName";
Object [objectName] = new Object();
Run Code Online (Sandbox Code Playgroud)
然后参考它:
myName.method(parameter);
Run Code Online (Sandbox Code Playgroud)
因此,以某种方式将字符串objectName插入到新对象的实际名称中.我该怎么做?