T4 include файл — это файл, который используется для инкапсуляции и переиспользования общего кода в T4 шаблонах. Файлы T4 (Text Template Transformation Toolkit) широко используются для генерации кода в .NET среде. Они позволяют вам встраивать код C# или VB.NET, который выполняется во время компиляции для генерации текстового вывода, который часто используется для создания исходного кода, конфигурационных файлов и других артефактов. **T4 include файлы** обычно содержат общие фрагменты T4 шаблонов, которые вы хотите переиспользовать в нескольких основных T4 шаблонах. Это может включать определения макросов, утилитные функции или любые другие элементы, которые вы не хотите дублировать в каждом шаблоне. Ссылаясь на T4 include файл в основных шаблонах T4, вы можете избежать дублирования кода и упростить обслуживание кода. ### Пример использования T4 include файла Чтобы использовать код, написанный в T4 include файле, в других T4 шаблонах, вам необходимо включить этот include файл в нужный T4 шаблон. Для этого используется директива `include`. Вот как вы можете это сделать: 1. **Создайте T4 include файл** с нужным кодом, как я показываю в примере. Назовем его, например, `utility.ttinclude`. ```t4 <#+ // Функция для преобразования первой буквы строки в верхний регистр public string CapitalizeFirstLetter(string input) { if (string.IsNullOrEmpty(input)) return input; return input[0].ToString().ToUpper() + input.Substring(1); } // Класс, который может быть использован в других T4 шаблонах public class Helper { public static string GetWelcomeMessage(string name) { return "Welcome, " + CapitalizeFirstLetter(name) + "!"; } } #> ``` 2. **В основном T4 шаблоне**, где вы хотите использовать функции или классы из include файла, добавьте следующую директиву на верху файла: ```t4 <#@ include file="utility.ttinclude" #> ``` Эта строка указывает шаблону включить содержимое файла `utility.ttinclude` в текущий шаблон. 3. **Используйте функции и классы из include файла** в вашем основном шаблоне. Например, если вы определили класс `Helper` и функцию `CapitalizeFirstLetter` в `utility.ttinclude`, вы можете использовать их в вашем шаблоне так: ```t4 <#@ template language="C#" #> <#@ include file="utility.ttinclude" #> <# // Использование функции из include файла string exampleInput = "hello"; string capitalizedInput = CapitalizeFirstLetter(exampleInput); // Использование метода из класса в include файле string message = Helper.GetWelcomeMessage("john"); #> Output: <#= capitalizedInput #> and <#= message #> ``` В этом примере `CapitalizeFirstLetter` и `Helper.GetWelcomeMessage` используются для генерации текста, который будет включен в итоговый файл. ### Плюсы использования T4 include файлов: - **Сокращение дублирования кода**: Позволяет избежать повторного написания одного и того же кода в разных шаблонах. - **Упрощение поддержки**: Обновления в include файле автоматически применяются ко всем шаблонам, которые его используют. - **Организация кода**: Помогает поддерживать чистоту и структуру проекта, разделяя логику и вспомогательные функции на отдельные части. Используя этот подход, вы можете значительно улучшить управление кодом в больших проектах, где требуется много шаблонизированного кода.