private void edit_record(EditTypes editType, string clazz, string opaqueRef, string field, params object[] args) { Db.Row row = db.Tables[clazz].Rows[opaqueRef]; Db.Prop prop; if (row.Props.TryGetValue(field, out prop)) { prop.XapiObjectValue = NewValue(editType, prop.XapiObjectValue, args); } else { prop = new Db.Prop(row, field, NewValue(editType, null, args)); row.Props[field] = prop; } }