/// <summary> /// Creates the whole ToString process. /// </summary> /// <param name="type">Object type, to show the object title.</param> /// <param name="obj">Object implementing the interface, the object itself.</param> /// <param name="indentOffset">For nested child objects to keep proper indentation. /// Pass the indentOffset from the interface here.</param> /// <returns>ToStringBuilder object for adding parameters in a chain.</returns> public static ToStringBuilder Create(Type type, IToStringBuildable obj, int indentOffset) { ToStringBuilder tsb = new ToStringBuilder(); tsb.initialIndentOffset = indentOffset; tsb.currIndentOffset = indentOffset; tsb.sb = new StringBuilder(); tsb.sb.Append(type); tsb.AppendSeparator(); tsb.currIndentOffset++; return(tsb); }