Запуск кода C# из JINT (на стороне сервера)
Вероятно, это неправильное использование 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 или в другом подобном фреймворке?
1 ответ
Решение
Вы можете легко установить функцию (имя строки, делегировать функцию) из jintengine
JintEngine engine=new JintEngine();
Func<string,int> function = GetValue;
engine.SetFunction("GetValue", function);
var run = engine.Run("GetValue('something') * 2");