public static void Main()
var entry = new DataEntries
User = new DataEntries.UserObjects
Tag = new DataEntries.TagObjects
var value = entry.GetPropValue("Tag.name");
Console.WriteLine(value);
public string UserId { get; set; }
public string UserId2 { get; set; }
public int id { get; set; }
public string name { get; set; }
public int type { get; set; }
public TagObjects Child { get; set; }
public UserObjects User { get; set; }
public TagObjects Tag { get; set; }
public static class ReflectionHelper
public static dynamic GetPropValue(this object obj, string propName)
string[] nameParts = propName.Split('.');
foreach (string part in nameParts)
if (obj == null) { return null; }
Type type = obj.GetType();
PropertyInfo info = type.GetProperty(part);
if (info == null) { return null; }
obj = info.GetValue(obj, null);