/// <summary>
        /// 生成脚本。
        /// </summary>
        /// <param name="executor">脚本语法解析器。</param>
        /// <returns>返回生成后的脚本。</returns>
        public override string ToJsString(ITemplateExecutor executor)
        {
            if (!executor.TryGetExecutor(this, out var syntax))
            {
                throw new Exception($"不支持此语法:{ToString()}!");
            }
            var sb = new StringBuilder();

            sb.Append(syntax.Begin(this, executor));
            foreach (var child in this)
            {
                sb.Append(child.ToJsString(executor));
            }
            sb.Append(syntax.End(this, executor));
            return(sb.ToString());
        }
        /// <summary>
        /// 生成HTML代码。
        /// </summary>
        /// <param name="executor">语法解析器。</param>
        /// <param name="instance">当前实例。</param>
        /// <param name="func">获取实例属性值。</param>
        /// <returns>返回HTML代码。</returns>
        public override string ToHtmlString(ITemplateExecutor executor, object instance, Func <object, string, object> func)
        {
            if (!executor.TryGetExecutor(this, out var syntax))
            {
                throw new Exception($"不支持此语法:{ToString()}!");
            }
            var sb = new StringBuilder();

            sb.Append(syntax.Begin(this, executor, instance, func));
            foreach (var child in this)
            {
                sb.Append(child.ToHtmlString(executor, instance, func));
            }
            sb.Append(syntax.End(this, executor, instance, func));
            return(sb.ToString());
        }