Если мы используем интерпретатор.SetDefaultNumberType(DefaultNumberType.Decimal) , то мы не сможем получить доступ к какой-либо библиотеке по умолчанию, такой как функции, связанные со строками или математическими функциями и т. д.
interpreter = new Interpreter().SetDefaultNumberType(DefaultNumberType.Decimal);
После этого, если мы попытаемся оценить строку ниже для загруженной переменной strVariable, выражение «Ниже» не будет оценено.
strVariable.Substring(0, 40)если мы создадим интерпретатор с помощью этого интерпретатора = new Interpreter(), то приведенное выше выражение будет оценено.
Я попытался добавить ссылку на строку и математическую библиотеку, как показано ниже. , но это все равно не работает, работает только если мы удалим опцию SetDefaultNumberType.
Код: Выделить всё
interpreter = interpreter.Reference(typeof(System.String));
interpreter = interpreter.Reference(typeof(System.Math));
Подробнее здесь: https://stackoverflow.com/questions/787 ... lt-library