SetDefaultNumberType(DefaultNumberType.Decimal) не может получить доступ к какой-либо библиотеке по умолчанию, например C#

Место общения программистов C#
Anonymous
SetDefaultNumberType(DefaultNumberType.Decimal) не может получить доступ к какой-либо библиотеке по умолчанию, например

Сообщение Anonymous »

Я работаю над проектом Blazor WebAssembly с использованием .NET 8 и использую библиотеку DynamicExpresso для оценки своих выражений.
Если мы используем интерпретатор.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

Вернуться в «C#»