Внутри формы Я беру пользователей из текстового поля в качестве текста для выполнения поиска. Также есть значения радио, которые фильтруют поиск. Поэтому я могу искать книгу по названию, по тегу и по автору.Насколько зрелым это является для генериков
Прямо сейчас я использую оператор switch, чтобы определить, какое значение радио выбрано и на основе этого значения. Я вызываю репозиторий для извлечения данных.
var checkedSearchBy = panelSearchBy.Controls.OfType<RadioButton>()
.FirstOrDefault(r => r.Checked);
string searchBy = checkedSearchBy.Text;
case "ByTitle":
var data = repository.GetDetailsByTitle(txtUsersInput);
break;
case "ByTag":
var data = repository.GetDetailsByTag(txtUsersInput);
break;
case "ByAuthor":
var data = repository.GetDetailsByAuthor(txtUsersInput);
break;
и репозитории стороны (я использую щеголеватый ОРМ) У меня есть три метода, который почти идентичные запросы. Как я могу реорганизовать этот код для вызова одного метода вместо трех?
Благодаря
вы можете предоставить более подробную информацию, пожалуйста. Если я правильно понял, я бы удалил оператор switch и сохранил существующие три метода? – user2783193
Теперь я думаю об этом, я не совсем уверен, что это решает вашу проблему, поскольку вам все еще нужны три метода. Чтобы знать, как реорганизовать эти три метода в одном, вам, вероятно, нужно будет показать нам эти методы или, по крайней мере, то, что меняется между ними. – Flynn1179