C# - Print all fields, in a class, and their values. Excelent ToString()

Post date: Feb 14, 2010 11:42:54 AM

public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("\n\t\t\t\t"); foreach (FieldInfo field in this.GetType().GetFields( BindingFlags.Instance | BindingFlags.NonPublic)) { object val = field.GetValue(this); if (val == null) { sb.AppendFormat("{0} is null\n\t\t\t\t", field.Name); } else { sb.AppendFormat("{0} ({1}) = {2}\n\t\t\t\t", field.Name, val.GetType().Name, val); } } return sb.ToString(); }