如何递归读取对象的属性

How do I recursively read properties of an Object

我有以下Class。可以在其生命周期内随时添加更多属性

public class Foo
{
    public string propertyA { get; set; }
    public string propertyB { get; set; }
    public string propertyC { get; set; }
}

我有一个“Foo”实例,它填充了以下值

   var myFoo = new Foo()
        {
            propertyA = "X valueA",
            propertyB = "valueB",
            propertyC = "X valueC",
        };

我如何以递归方式获取字符串值中值为“X”的属性(在此示例中)的计数?

X 的期望值是多少?

你可以用这样的函数循环它:

foreach (PropertyInfo propertyInfo in obj.GetType().GetProperties())
{
   // do stuff here
}