Definir un conjunto de datos de tipo dinámico?
-
06-09-2019 - |
Pregunta
Estoy tratando de crear una instancia de un conjunto de datos de tipo dinámico en mi código en tiempo de ejecución. Tengo el tipo disponible para mí, pero cuando trato de hacer esto:
object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));
El problema es no parece el tipo de ser válido de acuerdo con el código cuando intento ejecutarlo. ¿Qué podría estar haciendo mal aquí?
Solución
Cuando se define el tipo? (Que el montaje).
A menos que se le da un nombre calificado de montaje, será solo se ve en el llamando montaje, y algunos otros ensambles. Opciones:
- utilizar un nombre calificado de montaje ( "somen.amespace.sometype, someassembly, ...")
- obtener la instancia
Assembly
(de un tipo conocido en que el montaje), y utilizarGetType(fullyQualifiedName)
en la instanciaAssembly
Otros consejos
Suponiendo que está emitiendo el código correcto conjunto de datos también puede ser necesario para cargar el ensamblado.
Mira en la siguiente Reflection.Emit espacios de nombres de .NET, y la reflexión.
También podría mirar a los proyectos de código abierto, como Windsor, que utilizan la reflexión para emitir nuevas clases para crear interceptores. Puede haber código de allí que se puede aprender de.