我正在尝试获取类中所有变量的列表。我正在尝试使用反射(我以前从未使用过反射),但这只是没有意义,而且文档也没有帮助。我觉得自己犯了一个明显的错误,但我无法弄清楚。
public override string ToString()
{
FieldInfo[] fields = GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
List<string> _return = new List<string>();
foreach (var field in fields)
{
_return.Add(field.Name + ": " + field.GetValue(field));
}
return _return;
}
输出为空。
答案 0 :(得分:2)
这将满足您的需求:
public override string ToString()
{
FieldInfo[] fields = GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
List<string> _return = new List<string>();
foreach (var field in fields){
_return.Add(field.Name + ": " + field.GetValue(this));
}
return string.Join(",", _return);
}