//============================================================ // <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); }
//============================================================ // <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); }
//============================================================ // <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); }