如何将String转换为Class引用

时间:2014-03-29 14:59:26

标签: c#

我有字符串类名,我想将其转换为类引用

if (System.Windows.Forms.Application.OpenForms[row.Cells[0].Value.ToString()] != null)                                     
{
    (System.Windows.Forms.Application.OpenForms[row.Cells[0].Value.ToString()] as PC_01).accept();
}

我想使用字符串"PC_01"而不是类PC_01

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

如果您想将对象的类型表示为字符串,可以在Type类的帮助下完成,并使用dynamic来调用此实例的方法。

object obj = System.Windows.Forms.Application.OpenForms[row.Cells[0].Value.ToString()];
Type t = Type.GetType("myNamespace.PC_01, myAssembly");

if (obj.GetType() == t)
{
   ((dynamic)obj).accept();
}