Я пытаюсь создать экземпляр типизированного набора данных динамически в моем коде во время выполнения. У меня есть тип, доступный мне, но когда я пытаюсь это сделать:
object obj = Activator.CreateInstance(Type.GetType("TYPED DATASET TYPE HERE"));
Проблема заключается в том, что тип не кажется действительным в соответствии с кодом при попытке его запуска. Что я могу делать неправильно здесь?
Где задан тип? (какая сборка).
Если вы не дадите ему квалифицированное имя сборки, оно будет выглядеть только в вызывающей сборке и нескольких других сборках ключей. Параметры:
Assembly
(из известного типа в этой сборке) и использовать GetType(fullyQualifiedName)
в экземпляре Assembly
Предполагая, что вы испускаете правильный код набора данных, вам также может потребоваться загрузить сборку.
Посмотрите на следующие пространства имен .net reflection.emit и отражение.
Вы также можете посмотреть проекты с открытым исходным кодом, такие как windsor, которые используют отражение, чтобы испускать новые классы для создания перехватчиков. Там может быть код, из которого вы можете учиться.