zoukankan      html  css  js  c++  java
  • CodeBuilder之Template接口

    ITemplate接口

    代码
    using System.Collections.Generic;

    namespace FaibClass.TemplatePackage
    {
        
    /// <summary>
        
    /// 模板接口。
        
    /// </summary>
        public interface ITemplate : BasePackage.IPackage
        {
            
    /// <summary>
            
    /// 加载模板文件并构造一个生成器。
            
    /// </summary>
            
    /// <param name="fileName">模板文件名。</param>
            
    /// <returns>生成器对象。</returns>
            IBuilder LoadTemplate(string fileName);
            
    /// <summary>
            
    /// 获取所有模板文件。
            
    /// </summary>
            
    /// <returns>数据字典,Key:文件名,Value:文件路径。</returns>
            Dictionary<stringstring> GetTemplateFiles();
        }
    }

    IBuilder接口

    代码
    using FaibClass.SourcePackage;

    namespace FaibClass.TemplatePackage
    {
        
    /// <summary>
        
    /// 代码创建接口。
        
    /// </summary>
        public interface IBuilder
        {
            
    /// <summary>
            
    /// 生成代码。
            
    /// </summary>
            
    /// <param name="tables">要生成的表集合。</param>
            
    /// <param name="enums">要生成的枚举集合。</param>
            
    /// <param name="save">是否保存到文件。</param>
            
    /// <param name="outputFolder">输出的路径</param>
            
    /// <returns>生成结果。</returns>
            BuildResult Build(Collection<ITable> tables, Collection<DbEnum> enums, bool save, string outputFolder);
            
    /// <summary>
            
    /// 转换数据类型。
            
    /// </summary>
            
    /// <param name="dbType">源类型。</param>
            
    /// <param name="sourceType">源数据类型。</param>
            
    /// <returns>代码数据类型。</returns>
            string ConvertDbType(string dbType, string sourceType);
            
    /// <summary>
            
    /// 生成表代码时触发事件。
            
    /// </summary>
            event BuildProgressChangedEventHandler BuildProgressChanged;
            
    /// <summary>
            
    /// 停止生成进程。
            
    /// </summary>
            void Stop();
            
    /// <summary>
            
    /// 语言类别。
            
    /// </summary>
            LanguageType Language { get; }
            
    /// <summary>
            
    /// 生成器名称。
            
    /// </summary>
            string Name { get; }
            
    /// <summary>
            
    /// 文件名。
            
    /// </summary>
            string FileName { get; }
            
    /// <summary>
            
    /// 对生成器进行修改。
            
    /// </summary>
            
    /// <returns>是否修改成功。</returns>
            bool Edit();
            
    /// <summary>
            
    /// 重新加载。
            
    /// </summary>
            void Reload();
            
    /// <summary>
            
    /// 验证内容。
            
    /// </summary>
            
    /// <param name="content"></param>
            void Validate(string content);
        }
    }
  • 相关阅读:
    Python3学习之路~8.5 SocketServer实现多并发
    Python3学习之路~8.4 利用socket实现文件传送+MD5校验
    [jzyzoj2021]lca模板题
    [BZOJ4542] [JZYZOJ2014][Hnoi2016] 大数(莫队+离散化)
    BZOJ3289[JZYZOJP2018]: Mato的文件管理 莫队+树状数组+离散化
    离散化的后续
    数据离散化 ( 以及 stl 中的 unique( ) 的用法 )+ bzoj3289:Mato的文件管理
    stl upper_bound()
    [BZOJ 3720][JZYZOJ 2016]gty的妹子树 强制在线 树分块/树套树
    所以学树分块的时候为什么要看vector啊sjb
  • 原文地址:https://www.cnblogs.com/faib/p/1643749.html
Copyright © 2011-2022 走看看