private void UpdateWorkCell <T>(int col, int row) { MaidInfo maid = SelectedMaid; if (maid == null) { return; } object val = dataGridView_noon_work_data[col, row].Value; if (val is bool) { val = !(bool)val; } int workID = rowToNoonWorkID[row]; if (!updateWorkTable) { if (val is T) { maid.SetWorkValue(workID, col, val); } else { maid.UpdateWorkData(workID); } } updateWorkTable = false; }