I think you can use a little reflection here. Take a look at Type.GetProperties()
.
private PropertyInfo[] _PropertyInfos = null;
public override string ToString()
{
if(_PropertyInfos == null)
_PropertyInfos = this.GetType().GetProperties();
var sb = new StringBuilder();
foreach (var info in _PropertyInfos)
{
var value = info.GetValue(this, null) ?? "(null)";
sb.AppendLine(info.Name + ": " + value.ToString());
}
return sb.ToString();
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…