从类名创建实例

本文关键字:实例 创建 | 更新日期: 2023-09-27 17:47:46

我正试图在运行时创建一个类的实例。我试图创建的类都继承自基类ConfigMgrObj,并命名为ConfigMgr_xxxxxx,例如ConfigMgr_Collection。它们都采用一个我称之为oController的特殊对象和一个字符串作为参数。

这是我用来做这件事的一行,其中ClassToGet是一个包含类名称的字符串,例如ConfigMgr_Collection

object oNewObject = System.Activator.CreateInstance(null, "StackOverflowNamespace." + ClassToGet, new object[] { oController, ClassToGet });

这会引发TypeLoadException异常。怎么了?

从类名创建实例

您试图实例化的类型实际上是在同一个程序集中声明的吗?将null作为第一个参数传递会告诉Activator类型存在于当前程序集中。

看起来在当前程序集中找不到名为"StackOverflowNamespace."+ClassToGet的类。