private void DumpMembers(TypeDetails details, object instance, int padding) { WriteLabel(details.TypeLabel, padding); WriteLine(); var stringified = instance.ToString(); if (!String.IsNullOrEmpty(stringified) && stringified != details.Type.FullName && stringified != instance.GetType().FullName) { WritePadding(padding); Write( stringified, details.Type.IsClass ? ConsoleColor.Magenta : // class ConsoleColor.Yellow, // struct ConsoleColor.Black); WriteLine(); } padding++; var values = details.GetMemberValues(instance); foreach (var value in values) { WritePadding(padding); Write(value.MemberName.PadRight(details.MaxMemberNameLength, ' '), HEADING_FOREGROUND, HEADING_BACKGROUND); Write(_Separator); Write(GetString(value)); WriteLine(); } }
public virtual List <MemberValue[]> GetEnumerableMemberValues(object instance, int limit, out int?count) { var values = GetEnumerableSimpleValues(instance, limit, out count); var memberValues = new List <MemberValue[]>(values.Count); foreach (var value in values) { memberValues.Add(value == null ? null : ItemDetails.GetMemberValues(value)); } return(memberValues); }