//============================================================ // <T>获得例外对象的消息内容。</T> // // @param message 消息内容 // @param exception 例外对象 //============================================================ public static void MakeMessage(FString message, Exception exception) { // 建立例外堆栈 FObjects <Exception> stack = new FObjects <Exception>(); Exception find = exception; while (find != null) { stack.Push(find); if (find is FException) { find = ((FException)find).Reason; } else { find = find.InnerException; } } // 加入消息内容 stack.Reverse(); message.AppendLine("Exception has raised. (@.@)"); foreach (Exception exp in stack) { message.AppendLine(RDump.LINE_L2); string msg = exp.Message; if (!RString.IsBlank(msg)) { message.AppendLine(msg); } message.AppendLine(exp.StackTrace); } }
//============================================================ // <T>判断是否和指定对象集合相等。</T> // // @param items 对象集合 // @return 是否相等 //============================================================ public bool Equals(FObjects <T> items) { // 检查数组是否为空 if (items == null) { return(false); } // 检查对象是否相等 return(Equals(items.Items, 0, items.Count)); }
//============================================================ // <T>刷新对象块到外部。</T> // // @param items 对象数组 //============================================================ public void Flush(FObjects <T> items) { items.Assign(_items, 0, _count); Array.Clear(_items, 0, _items.Length); _count = 0; }
//============================================================ // <T>追加对象数组。</T> // // @param items 对象数组 //============================================================ public void Append(FObjects <T> items) { Append(items.Items, 0, items.Count); }
//============================================================ // <T>接收对象数组。</T> // // @param items 对象数组 //============================================================ public void Assign(FObjects <T> items) { Assign(items.Items, 0, items.Count); }
//============================================================ // <T>查找对象数组的位置。</T> // <P>如果不存在则返回-1。</P> // // @param items 对象数组 // @return 所在位置 //============================================================ public int Find(FObjects <T> items) { return(RTypes <T> .Find(_items, 0, _count, items.Items, 0, items.Count)); }