示例#1
0
        /// <summary>
        /// 克隆当前元素到新的宿主模板
        /// </summary>
        /// <param name="ownerTemplate"></param>
        /// <returns></returns>
        internal override Element Clone(Template ownerTemplate)
        {
            Template tag = new Template(ownerTemplate);

            //加入到宿主模板的子模板列表
            ownerTemplate.ChildTemplates.Add(tag);

            //优先拷贝变量
            foreach (Variable var in this.Variables)
            {
                tag.Variables.Add(var.Clone(tag));
            }

            //复制其它属性
            tag.Id   = this.Id;
            tag.Name = this.Name;
            foreach (var att in this.Attributes)
            {
                tag.Attributes.Add(att.Clone(tag));
            }
            tag.Charset          = this.Charset;
            tag.File             = this.File;
            tag.fileDependencies = this.fileDependencies;
            tag.Visible          = this.Visible;

            foreach (Element element in this.InnerElements)
            {
                tag.AppendChild(element.Clone(tag));
            }

            return(tag);
        }
示例#2
0
        /// <summary>
        /// 克隆当前元素到新的宿主模板
        /// </summary>
        /// <param name="ownerTemplate"></param>
        /// <returns></returns>
        internal override Element Clone(Template ownerTemplate)
        {
            Template tag = new Template(ownerTemplate);
            //加入到宿主模板的子模板列表
            ownerTemplate.ChildTemplates.Add(tag);

            //优先拷贝变量
            foreach (Variable var in this.Variables)
            {
                tag.Variables.Add(var.Clone(tag));
            }

            //复制其它属性
            tag.Id = this.Id;
            tag.Name = this.Name;
            foreach (var att in this.Attributes)
            {
                tag.Attributes.Add(att.Clone(tag));
            }
            tag.Charset = this.Charset;
            tag.File = this.File;
            tag.fileDependencies = this.fileDependencies;
            tag.Visible = this.Visible;

            foreach (Element element in this.InnerElements)
            {
                tag.AppendChild(element.Clone(tag));
            }

            return tag;
        }