2

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

这是我用来执行此操作的行,其中 ClassToGet 是一个包含类名称的字符串,例如ConfigMgr_Collection.

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

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

4

2 回答 2

6

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

于 2008-10-07T03:44:00.057 回答
0

看起来它没有找到"StackOverflowNamespace."+ClassToGet在当前程序集中命名的类。

于 2008-10-07T03:46:53.140 回答