Доброе утро,
У меня есть динамический набор методов, которые имеют одинаковый тип возврата ResultSet
.У меня есть пользовательский интерфейс для отображения ResultSet
, поэтому остается предоставить пользовательский интерфейс для параметризации методов.Например, у меня могут быть следующие методы:
public ResultSet FindNew (DateTime date, int id)
public ResultSet FindOld (DateTime date, int id)
public ResultSet FindMerged (DateTime date, int[] id)
public ResultSet FindNew (DateTime date, string name)
Я хочу использовать отражение, чтобы обеспечить раскрывающийся список всех методов с правильным типом возврата в классе.После выбора я хотел бы создать форму ввода, необходимую для параметризации метода.Затем пользователь должен иметь возможность отправить запрос и либо просмотреть результаты, либо получить информацию об ошибке, которая произошла.
Я думаю, что могу реализовать эту функцию наивно, используя свои знания C #, но я надеялся, что таммогут быть особенности WPF, которые могли бы помочь в моем поиске.
РЕДАКТИРОВАТЬ
Извинения за слишком широкий вопрос.
Учитываяпроизвольно IEnumerable
из ParameterInfo[]
как бы вы связали это с вашим представлением, чтобы создать форму, чтобы пользователь мог вводить значение для каждого параметра?
В частности, не прерывая MVVM, если это возможно.Я вижу следующие проблемы:
- Отображение ParameterInfo в Label и компонент ввода данных, относящийся к его типу
- Привязка компонента ввода данных к чему-либо в ViewModel так, чтобыможно использовать значение
В данный момент я рассматриваю возможность использования пользовательского типа или кортежа ParameterInfo и текущего значения для этого параметра.Затем я мог бы использовать DataTemplates, чтобы показать правильный компонент ввода данных (DatePicker Vs. TextBox Vs. ComboBox).
NB В winforms это было достигнуто с помощью PropertyGrid ,есть проект с открытым исходным кодом WPF, пытающийся достичь того же, но я бы предпочел использовать свою собственную реализацию из-за ограничений проекта с точки зрения зависимостей.