private void FormatDictionaryMembers( CommonObjectFormatter.Builder result, IDictionary dict) { result.AppendGroupOpening(); int num = 0; try { IDictionaryEnumerator enumerator = dict.GetEnumerator(); using (enumerator as IDisposable) { while (enumerator.MoveNext()) { DictionaryEntry entry = enumerator.Entry; result.AppendCollectionItemSeparator(num == 0); result.AppendGroupOpening(); result.AppendCollectionItemSeparator(true); this.FormatObjectRecursive(result, entry.Key, false); result.AppendCollectionItemSeparator(false); this.FormatObjectRecursive(result, entry.Value, false); result.AppendGroupClosing(); ++num; } } } catch (Exception ex) { result.AppendCollectionItemSeparator(num == 0); this.FormatException(result, ex); result.Append(' '); } result.AppendGroupClosing(); }
private void FormatKeyValuePair(CommonObjectFormatter.Builder result, object obj) { System.Reflection.TypeInfo typeInfo = IntrospectionExtensions.GetTypeInfo(obj.GetType()); object obj1 = typeInfo.GetDeclaredProperty("Key").GetValue(obj, Array.Empty <object>()); object obj2 = typeInfo.GetDeclaredProperty("Value").GetValue(obj, Array.Empty <object>()); result.AppendGroupOpening(); result.AppendCollectionItemSeparator(true); this.FormatObjectRecursive(result, obj1, false); result.AppendCollectionItemSeparator(false); this.FormatObjectRecursive(result, obj2, false); result.AppendGroupClosing(); }
private void FormatMultidimensionalArrayElements( CommonObjectFormatter.Builder result, Array array) { if (array.Length == 0) { result.AppendCollectionItemSeparator(true); result.AppendGroupOpening(); result.AppendGroupClosing(); } else { int[] numArray = new int[array.Rank]; for (int dimension = array.Rank - 1; dimension >= 0; --dimension) { numArray[dimension] = array.GetLowerBound(dimension); } int num1 = 0; int num2 = 0; while (true) { int dimension1 = numArray.Length - 1; while (numArray[dimension1] > array.GetUpperBound(dimension1)) { numArray[dimension1] = array.GetLowerBound(dimension1); result.AppendGroupClosing(); --num1; --dimension1; if (dimension1 < 0) { return; } ++numArray[dimension1]; } result.AppendCollectionItemSeparator(num2 == 0); for (int dimension2 = numArray.Length - 1; dimension2 >= 0 && numArray[dimension2] == array.GetLowerBound(dimension2); --dimension2) { result.AppendGroupOpening(); ++num1; result.AppendCollectionItemSeparator(true); } this.FormatObjectRecursive(result, array.GetValue(numArray), false); ++numArray[numArray.Length - 1]; ++num2; } } }
public bool AppendAsCollectionEntry(CommonObjectFormatter.Builder result) { if (this.HasKeyName()) { result.AppendGroupOpening(); result.AppendCollectionItemSeparator(true); result.Append(this.Name, 1, this.Name.Length - 2); result.AppendCollectionItemSeparator(false); result.Append(this.Value, 0, int.MaxValue); result.AppendGroupClosing(); } else { result.Append(this.Value, 0, int.MaxValue); } return(true); }
private void FormatSequenceMembers( CommonObjectFormatter.Builder result, IEnumerable sequence) { result.AppendGroupOpening(); int num = 0; try { foreach (object obj in sequence) { result.AppendCollectionItemSeparator(num == 0); this.FormatObjectRecursive(result, obj, false); ++num; } } catch (Exception ex) { result.AppendCollectionItemSeparator(num == 0); this.FormatException(result, ex); result.Append(" ...", 0, int.MaxValue); } result.AppendGroupClosing(); }
private void FormatObjectMembers( CommonObjectFormatter.Builder result, object obj) { List <CommonObjectFormatter.Visitor.FormattedMember> result1 = new List <CommonObjectFormatter.Visitor.FormattedMember>(); this.FormatObjectMembersRecursive(result1, obj); bool flag = CommonObjectFormatter.Visitor.UseCollectionFormat(result1, IntrospectionExtensions.GetTypeInfo(obj.GetType())); result.AppendGroupOpening(); for (int index = 0; index < result1.Count; ++index) { result.AppendCollectionItemSeparator(index == 0); if (flag) { result1[index].AppendAsCollectionEntry(result); } else { result1[index].Append(result, "="); } } result.AppendGroupClosing(); }