Я пытаюсь создать базовый класс для всех моих файлов tt, поэтому мне не нужно дублировать мой код, но я не могу понять, как заставить его работать должным образом. Насколько я знаю, наследование в файлах ".tt" должно быть сделано из предварительно скомпилированного кода, поэтому я создал другой проект, чтобы он компилировался раньше, чем мой проект tt.
Я пробовал так много вещей без результат:
public class BaseClass
{
public virtual void SaveFiles(string[] filePaths)
{
//Do something
}
}
Это мой базовый класс BaseClass.cs
.
И это может быть один из классов, которые я хочу унаследовать от BaseClass
:
<#@ include file="IdentificableDomainEntityTemplate.tt" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ template language="C#" inherits="BaseClass" #>
<#+
public class IdentificableDomainEntitiesGenerator : BaseClass
{
public string AssemblyFile {get; set;}
public string AgentNamespace {get; set;}
public string Namespace {get; set;}
public string EntityName {get; set;}
public List<string> EntitiesToGenerate;
public List<string> ReferencesToGenerate;
public Dictionary<string, List<string>> EntityExceptionsProperties;
public string OutputFolder{get;set;}
public string AddToProject{get;set;}
public void RunCore()
{
this.SaveFiles(null);
}
}#>
Как я уже говорил, я создал другой проект, поэтому он компилируется, но я не знаю, что осталось или что мне делать, чтобы наследовать от BaseClass в моих файлах tt.