我想实现一个公共getter,它将获取当前类实例中所有字符串属性的值,并将其作为连接字符串返回。
${10}
当我运行它时,我得到StackOverflowException ..
答案 0 :(得分:2)
那是因为你最终递归地查询AllProperties
。
.Where(property => property.Name != "AllProperties")
后GetProperties ()
排除它。
所以它看起来像这样:
public string AllProperties => GetType().GetProperties().
Where(property => property.Name != "AllProperties").
Aggregate(string.Empty, (current, prop) => prop.PropertyType == typeof(string) ? current + (string)prop.GetValue(this, null) : current);