模板插件
一、接口定义
ITemplateProvider
定义了模板管理及生成代码的引擎,如果你要开发新的模板插件,可以引用 CodeBuilder.Core.dll
,并实现 ITemplateProvider
接口。
namespace CodeBuilder.Core
{
/// <summary>
/// 模板提供者插件。
/// </summary>
public interface ITemplateProvider : IPlugin
{
/// <summary>
/// 获取插件工作目录。
/// </summary>
string WorkDir { get; }
/// <summary>
/// 生成代码文件。
/// </summary>
/// <param name="option">模板选项。</param>
/// <param name="tables">所选定的数据表。</param>
/// <param name="handler">代码生成进度通知。</param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<GenerateResult> GenerateFilesAsync(TemplateOption option, List<Table> tables, CodeGenerateHandler handler, CancellationToken cancellationToken = default);
/// <summary>
/// 获取所有模板定义。
/// </summary>
/// <returns></returns>
List<TemplateDefinition> GetTemplates();
/// <summary>
/// 获取模板定义存储信息。
/// </summary>
/// <param name="definition"></param>
/// <returns></returns>
TemplateStorage GetStorage(TemplateDefinition definition);
}
}