动态定义类型化数据集?
-
06-09-2019 - |
题
我正在尝试在运行时在代码中动态创建类型化数据集的实例。我有可用的类型,但是当我尝试这样做时:
object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));
问题是,当我尝试运行它时,根据代码,该类型似乎无效。我在这里可能做错了什么?
解决方案
类型在哪里定义的?(哪个程序集)。
除非你给它一个程序集限定名称,否则它只会在 呼叫 组件和其他一些关键组件。选项:
- 使用程序集限定名称(“somen.amespace.sometype,someassemble,...”)
- 得到
Assembly
实例(来自该程序集中的已知类型),并使用GetType(fullyQualifiedName)
于Assembly
实例
其他提示
假设你发射正确的数据集的代码可能还需要加载组件。
看到下面的.NET命名空间Reflection.Emit的,和反射。
您还可以看看开源项目,如温莎其使用反射发出新的类来创建拦截器。有可能是代码那里,你可以借鉴。
不隶属于 StackOverflow