public void AddObject(object obj, params string[] whitelist) {
// automatically create parameters from object props
var type = obj.GetType();
var props = type.GetProperties();
foreach (var prop in props) {
bool isAllowed = whitelist.Length > 0 && whitelist.Contains(prop.Name);
if (isAllowed) {
var propType = prop.PropertyType;
var val = prop.GetValue(obj, null);
if (val != null) {
if (propType.IsArray) {
val = string.Join(",", (string[])val);
}
AddParameter(prop.Name, val);
}
}
}
}