private void AddExpression( IDictionary <string, IExpressionEvaluator> cache, TemplateExpression expression, string expressionName, bool isRequired = false) { if (expression != null) { cache[expression.GetId()] = _expressionEvaluatorFactory.Create(expression); _logger.LogTrace($"Using {expression.Value} for expression [{expressionName}]"); } else if (isRequired) { throw new TemplateExpressionException($"Unable to create the template; the expression for [{expressionName}] is missing"); } }
public IExpressionEvaluator Create(TemplateExpression expression) { EnsureArg.IsNotNull(expression, nameof(expression)); return(_expressionCache[expression.GetId()]); }