如何将String转换为Class引用
本文关键字:Class 引用 转换 String | 更新日期: 2023-09-27 17:54:42
我有一个字符串类名,我想把它转换成一个类引用
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
。
尝试使用Activator
类。见http://msdn.microsoft.com/en-us/library/vstudio/System.Activator%28v=vs.110%29.aspx
如果你想把一个对象的类型表示为字符串,你可以借助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();
}