Я создаю способ построения автоматизации, который позволит пользователям вводить команды через текстовые поля произвольной формы с автозаполнением, своего рода псевдо-IDE-функциональностью, аналогичной intellisense.Для начала я определяю, что составляет список строк, которые действуют как шаблоны определений, которые будут использоваться для сбора параметров от пользователей моего приложения.Например, пример шаблона выглядит следующим образом:
var scriptTemplate = "show message '{v_Message}' and close after {v_AutoClose} seconds"
Итак, выше определен шаблон, который мое приложение ожидает найти.Я ожидаю зацикливания данных текстового поля (счастливый путь), который выглядит следующим образом:
"show message 'hello world!' //textbox1.Text
или
"show message 'hello world' and close after 4 seconds" //textbox1.Text
Итак, сейчас я создаю метод, чтобы принять ввод пользователя, сравнить его сИз известных шаблонов выберите шаблон, а затем извлеките параметры (в данном случае v_Message
и потенциально v_AutoClose
) и создайте экземпляр класса, который будет содержать некоторую логику для выполнения команды:
var newClassInstance = new CustomMessage();
newClassInstance.v_Message = "hello world";
//newClass.v_AutoClose = 4;
newClassInstance.Execute();
Я застрял в той части, где мне нужно вытащить известные параметры и применить их к классу, так как я не уверен, что это лучший способ сделать это.Мне удалось сделать первые 2 слова «зарезервированными» ключевыми словами, чтобы выбрать правильный шаблон, но каков наилучший способ извлечь параметры и применить их обратно к классу?Я пытаюсь сделать это в общем для 100 различных потенциальных шаблонов.