I\'ve got two classes.
public class Class1 {
public string value {get;set;}
}
public class Class2 {
public Class1 myClass1Object {get;set;}
}
<
I was looking for answers to the case where to Get a property value, when the property name is given, but the nesting level of the property is not known.
Eg. if the input is "value" instead of providing a fully qualified property name like "myClass1Object.value".
Your answers inspired my recursive solution below:
public static object GetPropertyValue(object source, string property)
{
PropertyInfo prop = source.GetType().GetProperty(property);
if(prop == null)
{
foreach(PropertyInfo propertyMember in source.GetType().GetProperties())
{
object newSource = propertyMember.GetValue(source, null);
return GetPropertyValue(newSource, property);
}
}
else
{
return prop.GetValue(source,null);
}
return null;
}