Вероятно, это неправильное использование JINT, и если кто-то знает другие системы, которые могут это сделать, я открыт для них, если они могут сериализоваться в строку, но, по сути, мне нужно найти способ использовать JINT для проанализировать и запустить код C #. Я новичок в идее JINT в целом, поэтому я не совсем уверен, что искать. Но я бы хотел иметь возможность настроить что-то вроде ...

public int GetValue(string name){
    // database work to find the value requested
    // return the value found
}

string s = "GetValue('something') * 2";

И быть способным анализировать строку и запускать ее с выполнением GetValue и передачей данного параметра. Возможно ли что-то подобное в JINT или другом подобном фреймворке?

0
Ciel 18 Апр 2013 в 22:20

1 ответ

Лучший ответ

Вы можете легко SetFunction (имя строки, функция делегата) из jintengine

документация

JintEngine engine=new JintEngine();
Func<string,int> function = GetValue;
engine.SetFunction("GetValue", function);
var run = engine.Run("GetValue('something') * 2");
3
Milad 18 Апр 2013 в 22:48
Это именно то, что я пытался сделать! Большое спасибо! Это идеально .
 – 
Ciel
18 Апр 2013 в 22:50