А кто у нас по T4 спец?
От: Sinix  
Дата: 01.04.16 13:18
Оценка: 1 (1)
UPD Мда, с тех пор как я в нём копался, на T4 сделали отличную документацию. Вроде все вопросы, кроме "что ставить из расширений?" отпали.

Но если есть примечания/замечания, то велкам!

Предыдущий вариант:

Подскажите, в какую сторону копать, чтоб правильно сделать следующее:

1. Есть файл \src\Assertions\Code.cs.

2. Надо рядышком положить DebugCode.tt, который будет копировать содержимое Code.cs, добавлять к имени класса префикс Debug и заменять
[DebuggerHidden]
на
[Conditional(DebugCode.DebugCondition), DebuggerHidden]


3. С code model извращаться не надо, достаточно простой дубовой замены регексами. То, что не должно попасть в DebugCode вытащу в partial-класс.

4. Очень желательно, чтобы шаблон можно было использовать в нескольких местах (T4 вроде бы умеет include?)
Чтобы если в будущем появился другой класс ассертов, можно было сослаться на тот же шаблон, а не копипастить и не поддерживать правки в обоих копиях.


Сам что-то похожее уже делал, но результат получился абсолютно неподдерживаемый. Да и T4 с тех пор основательно подзабыл.

Собственно что интересует:

1. Что из инструментов/расширений студии нужно ставить?
2. Ссылки на статьи/похожие примеры.

Заранее спасиб!
Отредактировано 01.04.2016 13:25 Sinix . Предыдущая версия . Еще …
Отредактировано 01.04.2016 13:19 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.