Mono.Debugger.Frontend.ObjectFormatter.FormatClassObject C# (CSharp) 메소드

FormatClassObject() 보호된 메소드

protected FormatClassObject ( Thread target, TargetClassObject obj, TargetClass class_info, bool &first ) : void
target Thread
obj Mono.Debugger.Languages.TargetClassObject
class_info Mono.Debugger.Languages.TargetClass
first bool
리턴 void
        protected void FormatClassObject(Thread target, TargetClassObject obj,
						  TargetClass class_info, ref bool first)
        {
            Append ("{ ");
            indent_level += 3;

            if (obj.Type.HasParent) {
                TargetClassObject parent = obj.GetParentObject (target);
                if ((parent != null) && (parent.Type != parent.Type.Language.ObjectType)) {
                    Append ("<{0}> = ", parent.Type.Name);
                    CheckLineWrap ();
                    FormatStructObject (target, parent);
                    first = false;
                }
            }

            TargetFieldInfo[] fields = class_info.GetFields (target);
            for (int i = 0; i < fields.Length; i++) {
                if (fields [i].IsStatic || fields [i].HasConstValue)
                    continue;
                if (fields [i].IsCompilerGenerated)
                    continue;
                if (fields [i].DebuggerBrowsableState == DebuggerBrowsableState.Never)
                    continue;

                if (!first) {
                    Append (", ");
                    CheckLineWrap ();
                }
                first = false;
                Append (fields [i].Name + " = ");
                try {
                    TargetObject fobj = class_info.GetField (target, obj, fields [i]);
                    if (fobj == null)
                        Append ("null");
                    else
                        FormatObjectRecursed (target, fobj, true);
                } catch {
                    Append ("<cannot display object>");
                }
            }

            Append (first ? "}" : " }");
            indent_level -= 3;
        }