예제 #1
0
 //============================================================
 // <T>获得调试转储信息。</T>
 //
 // @param info 转储信息
 // @return 转储信息
 //============================================================
 public virtual FDump Dump(FDump info)
 {
     info.Begin();
     info.Append("count=" + _count);
     // 追加所有项目
     info.Append(" {");
     for (int n = 0; n < _count; n++)
     {
         // 追加分隔符
         if (n > 0)
         {
             info.Append(", ");
         }
         // 追加内容
         V value = _values[n];
         info.Append(_names[n]);
         info.Append("=");
         if (value is IDump)
         {
             ((IDump)value).Dump(info);
         }
         else
         {
             info.Append(value);
         }
     }
     info.Append("}");
     info.End();
     return(info);
 }
예제 #2
0
        //============================================================
        // <T>获得调试转储信息。</T>
        //
        // @param info 转储信息
        // @return 转储信息
        //============================================================
        public virtual FDump Dump(FDump info)
        {
            RDump.StartDump(info);
            FXmlElement parent = (FXmlElement)info.Instance;

            if (parent.HasElement())
            {
                foreach (FXmlElement element in parent.Elements)
                {
                    info.IncreaseDeep(element);
                    Dump(info);
                    info.DecreaseDeep();
                }
            }
            return(info);
        }
예제 #3
0
파일: FXmlNode.cs 프로젝트: whztt07/MoCross
        //============================================================
        // <T>获得调试转储信息。</T>
        //
        // @param info 转储信息
        // @return 转储信息
        //============================================================
        public override FDump Dump(FDump info)
        {
            RDump.StartDump(info);
            FXmlNode parent = (FXmlNode)info.Instance;

            // 转存名称
            info.Append(parent.Name);
            // 转存属性列表
            if (parent.HasAttribute())
            {
                info.Append(" [");
                foreach (IPair <string, string> pair in parent.Attributes)
                {
                    if (!pair.IsFirst())
                    {
                        info.Append(", ");
                    }
                    info.Append(pair.Name, "=", pair.Value);
                }
                info.Append("]");
            }
            // 转存内容
            if (parent.HasText())
            {
                info.Append("{");
                info.Append(parent.Text);
                info.Append("}");
            }
            // 转存元素列表
            if (parent.HasElement())
            {
                info.AppendLine();
                foreach (FXmlElement element in parent.Elements)
                {
                    info.IncreaseDeep(element);
                    Dump(info);
                    info.DecreaseDeep();
                }
            }
            return(info);
        }
예제 #4
0
        //============================================================
        // <T>获得调试转储信息。</T>
        //
        // @param info 转储信息
        // @return 转储信息
        //============================================================
        public virtual FDump Dump(FDump info)
        {
            info.Begin();
            info.Append("count=" + _count);
            // 追加所有项目
            info.Append(" {");
            bool           isFirst = true;
            FListEntry <T> entry   = _first;

            while (null != entry)
            {
                // 追加分隔符
                if (isFirst)
                {
                    isFirst = false;
                }
                else
                {
                    info.Append(", ");
                }
                // 追加内容
                T value = entry.value;
                if (value is IDump)
                {
                    ((IDump)value).Dump(info);
                }
                else
                {
                    info.Append(value);
                }
                entry = entry.next;
            }
            info.Append("}");
            info.End();
            return(info);
        }