获取当前类实例中所有字符串属性的值

时间:2016-03-15 11:52:11

标签: c# reflection

我想实现一个公共getter,它将获取当前类实例中所有字符串属性的值,并将其作为连接字符串返回。

${10}

当我运行它时,我得到StackOverflowException ..

1 个答案:

答案 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);