如何根据字符串得到对象?
我看了网上的资料,说可以反射,但是反射需要类型。如果我不知道类型,怎么办?
string mingzi = "Button1";
??? 这里怎么写?
------解决方案--------------------写不了,要么用object要么用它的基类。
C#是强类型的编程语言。
------解决方案--------------------这不是反射,这叫通过key找到控件。
string mingzi = "Button1";
var ctl = this.Controls.Find(mingzi, false)[0];
if (ctl is Button)
{
Button btn = ctl as Button;//你想要的btn
}
------解决方案--------------------反射不用知道类型 反射出来Type类型 遍历出你需要的字段,方法或属性 然后调用或执行
------解决方案--------------------而且你似乎需要的不是创建对象,而是获取现有的控件,这个根本用不着反射
Control c = Controls["Button1"];
就可以了。
------解决方案--------------------this.Controls["Button1"]