Это действительно зависит от того, что вы имеете в виду; Есть много вариантов:
- CodeDOM - предоставляет объектную модель, которая может генерировать код для нескольких языков, но может быть сложно использовать
- T4 (он же TT) - кодекен моды "в моде"
- xslt - полезный запасной вариант; не так модно, как T4, но работоспособно - хитро для языков, зависящих от пробелов, таких как VB
Во всех случаях я бы построил базовую объектную модель, которая представляет данные и будет работать оттуда. Я знал, что кто-то писал code-gen из базы данных только с SELECT
, но это было безобразно, как грех, и крайне болезненно поддерживать.
Отвечайте на ваши вопросы о \t
, \r
, \n
и т. Д. - я не понимаю вопроса, но: что бы ни хотел целевой язык! VB здесь сложнее (C # и т. Д. Проще, так как они не заботятся о пробелах).
Я успешно использовал xslt, но в основном потому, что уже знал xslt, и мне нужно было поддерживать 2.0 (T4 отсутствует в 2.0); иначе Т4 был бы моим следующим ударом, просто потому, что я хочу изучить его; -p