Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
        }