2

我正在尝试在运行时在我的代码中动态创建类型化数据集的实例。我有可用的类型,但是当我尝试这样做时:

object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));

问题是当我尝试运行它时,根据代码,该类型似乎无效。我在这里做错了什么?

4

2 回答 2

3

类型在哪里定义?(哪个大会)。

除非您给它一个程序集限定名称,否则它只会查看调用程序集和其他一些关键程序集。选项:

  • 使用程序集限定名称(“somen.amespace.sometype, someassembly, ...”)
  • 获取Assembly实例(从该程序集中的已知类型),并GetType(fullyQualifiedName)Assembly实例上使用
于 2009-06-02T21:27:42.637 回答
0

假设您发出正确的数据集代码,您可能还需要加载程序集。

查看以下 .net 命名空间反射.emit 和反射。

您还可以查看诸如 windsor 之类的开源项目,它们使用反射来发出新类以创建拦截器。那里可能有你可以学习的代码。

于 2009-06-02T21:29:09.263 回答