private void btnPickDatabaseEntities_Click(object sender, EventArgs e) { var type = _args.Type; var elementType = type.GetElementType(); if (elementType == null) { throw new NotSupportedException("No array element existed for DemandsInitialization Type " + type); } if (!_args.CatalogueRepository.SupportsObjectType(elementType)) { throw new NotSupportedException("CatalogueRepository does not support element " + elementType + " for DemandsInitialization Type " + type); } var objects = _args.CatalogueRepository.GetAllObjects(elementType); var dialog = new SelectDialog <IMapsDirectlyToDatabaseTable>(_activator, objects, true, false); dialog.AllowMultiSelect = true; if (_value is IEnumerable <IMapsDirectlyToDatabaseTable> v) { dialog.SetInitialSelection(v); } if (dialog.ShowDialog() == DialogResult.OK) { var result = dialog.MultiSelected == null ? null : dialog.MultiSelected.ToArray(); _args.Setter(result); SetUp(result); } }