Пример #1
0
        public void EnsureCreated(string expressionString, IReadOnlyList <object> requestValues)
        {
            if (_expressionCache.ContainsKey(expressionString))
            {
                return;
            }

            if (_onlyStringFuncCache.ContainsKey(expressionString))
            {
                return;
            }

            Lambda expression = CreateExpression(expressionString, requestValues);

            if (RequestTokens.Count is 3 && PolicyTokens.Count is 3 &&
                CheckRequestValuesOnlyString(requestValues))
            {
                _onlyStringFuncCache[expressionString] =
                    expression.Compile <Func <string, string, string, string, string, string, bool> >();
                return;
            }

            _expressionCache[expressionString] = expression;
        }