private void FillOutDatabaseObjectNames(string cmdName, CheckedListBox clb, DatabaseObjectType objectType) { string objectName; string strCmd = ConfigurationManager.AppSettings[cmdName]; Database db = DatabaseFactory.CreateDatabase(); Action beginUpdate = () => clb.BeginUpdate(); clb.Invoke(beginUpdate); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strCmd)) { Action addItem; while (reader.Read()) { objectName = reader.GetString(0); addItem = () => clb.Items.Add(new ListItem() { Value = objectName, Type = objectType }); clb.Invoke(addItem); } } Action endUpdate = () => clb.EndUpdate(); clb.Invoke(endUpdate); }