2

Я пишу код изолированно, то есть я работаю для себя. Мне нужно несколько советов о том, как вы можете реализовать следующую функциональность или если есть некоторые инструменты, которые уже существуют, чтобы облегчить выполнение этой задачи.C# Позволяет пользователю вводить условные правила

У меня есть сценарий (приложение C#), в котором я хотел бы, чтобы пользователь мог вводить условные правила, которые затем будут использоваться в других местах программы для различных вычислений.

В качестве простого примера предположим, что у нас есть свойство TimeRequiredForJob, и мы должны вычислить его в программе на основе правил пользователей. Простое правило может быть

TimeRequiredForJob = 200 шаров, умноженные на 5 мин каждая, или TimeRequiredForJob = 20% HoursInAfternoon

Я предполагаю, что его довольно трудно увидеть то, что я искал так, может быть следующее изображение будет help: DevExpress XtraGrid Filter Example

Это от DevExpress XtraGrid и позволяет пользователю фильтровать данные, отображаемые в сетке, на основе пользовательских правил фильтрации. Я хотел бы реализовать что-то подобное, но иметь возможность сохранять правила в базе данных и использовать эти правила позже в приложении.

Любые предложения или советы приветствуются.

[Late Edit]

На самом деле я получаю полезную информацию от this question, но любая дополнительная информация будет оценена.

+0

благодарит за публикацию изображения Simon – Macondo

ответ

2

Забыв о графическом интерфейсе на секунду, вам нужно будет сначала создать какой-то процессор оценки правил.

Данная статья может быть полезной для создания Evaluation Engine. Он описывает обработку текстовых выражений в форме, которая может быть оценена.

Как только вы представляете эти правила (либо как структура объекта, либо как текстовые выражения), задача создания графического интерфейса в соответствии с вашими конкретными требованиями станет проще.

+0

Ничего себе, хорошая статья и выглядит как хорошее (обязательно) чтение. Я сделаю себе чашку кофе и посмотрю сейчас. Благодаря! – Macondo

+0

Саймон, еще раз спасибо. Вызываемый мной механизм выражений должен работать для моего приложения. Именно то, что я искал. – Macondo

+0

@ Макондо: проблем нет, рад, что это помогло, хотя, если вы хотите поблагодарить автора, есть блок комментариев внизу статьи. –

Смежные вопросы