using Elsa.Expressions.CSharp.Contracts; using Elsa.Expressions.Contracts; using Elsa.Expressions.Helpers; using Elsa.Expressions.Models; namespace Elsa.Expressions.CSharp.Expressions; /// /// Evaluates C# expressions. /// public class CSharpExpressionHandler : IExpressionHandler { private readonly ICSharpEvaluator _cSharpEvaluator; /// /// Initializes a new instance of the class. /// public CSharpExpressionHandler(ICSharpEvaluator cSharpEvaluator) { _cSharpEvaluator = cSharpEvaluator; } /// public async ValueTask EvaluateAsync(Expression expression, Type returnType, ExpressionExecutionContext context, ExpressionEvaluatorOptions options) { var script = expression.Value.ConvertTo() ?? ""; return await _cSharpEvaluator.EvaluateAsync(script, returnType, context, options); } }