public object GetParameter(string parameterName, object obj)
{
var field = obj.GetType().GetField(parameterName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var property = obj.GetType().GetProperty(parameterName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
return field?.GetValue(obj) ?? property?.GetValue(obj);
}