2009-02-19 2 views
0

Я использую библиотеку [FileHelpers library] [1]Можно ли динамически генерировать класс в .NET?

[1]: http://www.filehelpers.com/ для обработки электронной таблицы Excel и CSV-файла.

FileHelpers требуют, чтобы пользователь генерировал класс для извлечения данных из электронной таблицы, которая точно сопоставляется с данными в электронной таблице. Он поставляется с замечательным мастером для создания класса без ручной печати. Тем не менее, я хочу исключить этот процесс и попросить пользователя ввести поле, которое они хотят, и автоматически сгенерировать класс для используемой программы.

Можно ли динамически генерировать класс и использовать его во время работы приложения?

ответ

2

Несомненно. Посмотрите на пространство имен System.CodeDom для необходимых инструментов. CodeDom способен генерировать и загружать классы во время выполнения и испускать исходный код для объединения в проект.

2

Да, но причина в том, что генерируемый класс, скорее всего, будет проверять целостность типов во время компиляции. Вы можете использовать ссылку Джеффри, чтобы узнать больше о генерации классов во время выполнения, или вы можете использовать Reflection.Emit. http://www.codeproject.com/KB/cs/DynamicCodeGeneration2.aspx