动态定义类型化数据集?

时间:2009-06-02 21:24:11

标签: c# asp.net strongly-typed-dataset activator createinstance

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

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

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

2 个答案:

答案 0 :(得分:3)

定义的类型在哪里? (哪个组装)。

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

  • 使用程序集限定名称(“somen.amespace.sometype,someassembly,...”)
  • 获取Assembly实例(来自该程序集中的已知类型),并在GetType(fullyQualifiedName)实例上使用Assembly

答案 1 :(得分:0)

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

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

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