Подтвердить что ты не робот

Для каких целей вы использовали T4?

T4 существует уже несколько лет в Visual Studio, но не получает большого внимания. Однако для тех, кто это знает, кажется, есть некоторые очень творческие и полезные цели.

Я изучаю различные способы использования T4, и я был бы рад услышать, как вы могли использовать его для реальных сценариев жизни. Меня в первую очередь интересуют нестандартное и творческое использование.

Некоторые интересные примеры:

Примечание. Я понимаю, что это вопрос, ориентированный на обсуждение, но ответы могут быть полезны другим. Я отметил его как субъективный, а также отмечен как "вики сообщества", поэтому, пожалуйста, разрешите оставаться открытым. Спасибо!

4b9b3361

Ответ 1

Я использовал шаблоны T4 в sharp-architecture, чтобы генерировать все от моделей до контроллеров до основных видов.

Определенно стоит проверить, даже если вы просто хотите увидеть несколько продвинутых примеров шаблонов T4 в действии

Ответ 2

Я не большой поклонник нитей app.config/web.config, поэтому я использую T4 для чтения этих файлов и создания класса AppSettings/WebSettings, который обертывает строки подключения и ключ/значения в реальном класс. Это означает, что, пока я всегда использую AppSettings.SomeValue для ссылки на мой app.config, я получаю проверку времени компиляции, что очень приятно.

Ответ 3

Я использую T4 для:

  • Генерировать сценарии CRUD SQL Server и Oracle.
  • Сгенерировать уровень доступа к данным на основе схемы базы данных
  • Layer Generate Business Logic Layer, основанный на схеме базы данных
  • Создайте веб-формы ASP.Net, как HTML, так и codebehind, на основе схемы базы данных (scafolding).

Это дает мне хорошую, быструю, простую базовую отправную точку для моих проектов.

И самое лучшее, что я контролирую.

Здесь вы можете скачать пример моих шаблонов

Ответ 4

SubSonic 3.0 сильно использует шаблоны T4 для генерации вашего кода сущности.

По существу он вызывает GetSchema() в вашем соединении с базой данных и запускает каждую таблицу, которую он находит через шаблон сущности T4. Самое замечательное в использовании T4 здесь заключается в том, что если вам не нравится, как он обрабатывает вашу схему базы данных, просто отредактируйте шаблон.

Я изменил T4, чтобы лучше обрабатывать базы данных MySQL, поскольку я использую многие столбцы tinyint, которые по умолчанию T4 сопоставляются с типами byte. Быстрое редактирование на T4 дало мне тип, который я хотел бы вместо этого для моих объектов приложения.

Ответ 5

Шаблоны LINQ to SQL для T4
http://l2st4.codeplex.com/

Шаблоны, реплицирующие функциональные возможности SQLMetal и конструкторы кода конструктора классов LINQ to SQL для С# и VB.Net, требующие только Visual Studio 2008.

Ответ 7

Я использовал T4 для генерации:

  • прокси (время разработки, для мониторинга инъекций/обертывания код/​​протоколирование/... в очень специфическом раскрытом api).
  • создание интерфейса для сопоставления интерфейса/класса один на один
  • заменить отражение код с помощью "прямого/реального" кода вызова (преимущество обслуживания код отражения, но производительность фактического кода), например при разрешении доступа к свойствам через индексатор или что-то в этом направлении.
  • генерация xml для проекта java (не удалось найти T4-подобное решение для Java, которое легко разделяется внутри компании, T4 легко, потому что он встроен, и вы можете запустить его из командной строки)
  • генерировать перечисления из основной базы данных (мы сгенерировали их как для базы Delphi-кода, так и для базы .Net)

Ответ 8

Шаблоны T4 широко используются в программном обеспечении веб-сервисов Factory (Сервис Factory).