void AddFromParametersObject(object args) { if (args == null) { return; } var type = args.GetType(); foreach (var property in type.GetTypeInfo().GetProperties()) { // TODO: Cache these var rw = new PropertyHandler(property); var value = rw.Read(args); this[property.Name] = value; } }